|
||||||||||
| 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, currently just for immutable beans. |
boolean |
cacheHashCode
Whether to generate code to cache the hash code. |
String |
hierarchy
Information about the bean hierarchy. |
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.
public abstract String builderScope
By default, this follows 'smart' rules. Set to 'private' to generate a private builder. Set to 'public' to generate a public builder.
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 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 | |||||||||