|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||
@Retention(value=RUNTIME) @Target(value=TYPE) public @interface BeanDefinition
Annotation defining a bean for code generation.
This annotation must be used on classes that should be treated as beans.
| Optional Element Summary | |
|---|---|
String |
builderScope
The scope of the builder class. |
boolean |
cacheHashCode
Whether to generate code to cache the hash code. |
String |
cloneStyle
The configuration for generating clone methods. |
String |
constructorScope
The scope of the generated constructor. |
String |
factoryName
The name of the factory method. |
String |
hierarchy
Information about the bean hierarchy. |
String |
metaScope
The scope of the meta-bean class. |
String |
style
The style of bean generation. |
public abstract String style
By default, this follows 'smart' rules. Set to 'minimal' to generate a minimal amount of code. Set to 'full' to generate the full code. Set to 'light' to generate a light immutable bean using reflection internally.
public abstract String constructorScope
Only applicable to immutable beans. By default, this follows 'smart' rules, which generate a private constructor when needed by the builder. Set to 'private' to generate a private constructor. Set to 'package' to generate a package-scoped constructor. Set to 'protected' to generate a protected constructor. Set to 'public' to generate a public constructor. Set to 'public@ConstructorProperties' to generate a public constructor.
public abstract String metaScope
By default, this follows 'smart' rules, which generate a public meta-bean. Set to 'private' to generate a private meta-bean. Set to 'package' to generate a package-scoped meta-bean. Set to 'public' to generate a public meta-bean.
public abstract String builderScope
By default, this follows 'smart' rules, which generate a public builder for immutable beans and no builder for mutable beans. Set to 'private' to generate a private builder. Set to 'package' to generate a package-scoped builder. Set to 'public' to generate a public builder.
public abstract String factoryName
By default, this is an empty string and no factory is generated. Set to 'of' to generate a factory method named 'of.
public abstract String hierarchy
This is needed to add information that cannot be derived. Set to 'immutable' for a subclass of an immutable bean.
public abstract String cloneStyle
This flag controls generation of the clone method.
The default is 'smart'.
The valid values are:
public abstract boolean cacheHashCode
Setting this to true will cause the hash code to be cached using the racy single check idiom. The setting only applies to immutable beans.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||