xapi.annotation.reflect.MirroredAnnotation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xapi-gwt Show documentation
Show all versions of xapi-gwt Show documentation
This module exists solely to package all other gwt modules into a single
uber jar. This makes deploying to non-mavenized targets much easier.
Of course, you would be wise to inherit your dependencies individually;
the uber jar is intended for projects like collide,
which have complex configuration, and adding many jars would be a pain.
The newest version!
package xapi.annotation.reflect;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Using this annotation on any other annotation will tell our
* annotation processor to generate an annotation mirror class.
*
* Whew.
*
* In short, we generate classes to represent annotations,
* so we can easily get at annotation values loaded outside a ClassLoader.
*
* @author "James X. Nelson ([email protected])"
*
*/
@Documented
@Target(ElementType.ANNOTATION_TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface MirroredAnnotation {
/**
* @return whether or not to generate methods that attempt to expose
* reflective instances of the actual annotation.
*
* The default is false, to avoid forcing annotation mirrors to
* include code that may be restricted by SecurityManager.
*/
boolean generateReflectionFactory() default false;
/**
* @return whether or not to generate factories for annotation processors.
*
* These factories are generated outside the annotation mirror,
* to avoid dependency on javax.lang.model.
*
*/
boolean generateJavaxLangModelFactory() default true;
/**
* @return whether or not to generate factories for xapi-dev-bytecode.
*
* These factories will be generated in client-accessible code,
* so the default value is false.
*
* This feature will be more useful when gwt can choke down bytecode.
*/
boolean generateXapiBytecodeFactory() default false;
}