/* * Copyright (c) JForum Team. All rights reserved. * * The software in this package is published under the terms of the LGPL * license a copy of which has been included with this distribution in the * license.txt file. * * The JForum Project * http://www.jforum.net */ package net.jforum.extensions; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Used to create extension points to any controller's public action. * JForum allows extension points that can take action after the regular * execution of any controller's action, in order to enhance the functionality * or even change the behaviour. * * @author Rafael Steil * @author Bill */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Extends { /** * The name of the form parameters that will be parsed * from the request to be injected as this logic arguments. * * If not present, VRaptor will use the argument class name decapitalized * when searching in the request parameters. * * <code> * void method(SomeClass argument, OtherClass argument2) * </code> * * will look fo servlet request parameters "someClass" * and "otherClass" repectively. Or you can name them * using this annotation attribute. * * The array must have length equals to the number of arguments * that this logic method receives. * */ public String[] parameters() default {}; /** * Extend Logic names. A Extend Logic can extend more than one logic method. * the default value is the method name, * so it should be same with the method that need to extended * * @return names */ public String[] value() default {}; }