@Documented @Target(value={PACKAGE,TYPE,ANNOTATION_TYPE,FIELD,METHOD,CONSTRUCTOR,PARAMETER}) @Retention(value=RUNTIME) public @interface KeepAnnotation
ReflectionService.
Can be applied to packages, classes, annotation types, parameters,
methods, fields and constructors. The ReflectionService will do
its best to retain manual annotation retention overrides.
Primarily used in gwt reflection, but available as well for future iterations of classpath scanner to intelligently discard runtime metadata.
| Modifier and Type | Optional Element and Description |
|---|---|
String |
debugData
DebugData to include.
|
boolean |
loadAsync
Whether or not to defer including reflected constructor
into a code split containing all reflection data.
|
boolean |
preventOverride
Used to allow package-level or type-level annotations to override children.
|
public abstract String debugData
Using debugData.length > 0 will result in as much type data being preserved as possible in log messages, including method default class types.
public abstract boolean loadAsync
Implementations using xapi-gwt-inject won't need to worry as much, the magic-method-injector will ensure code bloat is localized to call site.
Running without injection support will put all class data into a single, monolithic, generated factory for the whole app, unless async is used.
if true, Generator will throw exception if accessed outside of X_Reflect.async()
public abstract boolean preventOverride
Good for overriding default settings temporarily; setting debugData and preventOverride on package-info.java will turn on debugging for that package.
Inheritance Hierarchy Is -> package-info.java -> OuterClass -> OuterClass$InnerClass -> ...
Copyright © 2012-2013 The Internet Party. All Rights Reserved.