com.googlecode.gwt.test.patchers.InitMethod Maven / Gradle / Ivy
package com.googlecode.gwt.test.patchers;
import javassist.CtClass;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
*
* Indicates that the annotated method is be used to add some behavior on a class before its
* {@link PatchMethod} are applied through the javassist API.
*
*
* Methods annotated with InitMethod
must be static an have one and
* only one parameter of type {@link CtClass} from the javassist
API.
*
*
* @author Gael Lazzari
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface InitMethod {
/**
*
* Specify if this initialization method should override an existing one, declared in another
* {@link PatchClass}. Only one InitMethod
with override = true can exist.
* Otherwise, an exception will be thrown.
*
*
* Default value is false.
*
*
* @return True is this initialization method should override an existing one, false otherwise.
*/
boolean override() default false;
}