@Documented @Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface ConfigurationBuilder
An annotation applicable to a field or method of a ConfigurationProperties
instance that allows to
customize the behaviour of properties that are builders themselves.
Modifier and Type | Optional Element and Description |
---|---|
boolean |
allowZeroArgs
Some APIs allow zero argument setters to set boolean flags such as
setDebug() . |
String[] |
children |
String |
configurationPrefix
When this annotation is used, by default the name of the field or method is not taken into account when
retrieving configuration properties.
|
String[] |
excludes |
String |
factoryMethod
Only to be used if the builder is not being created manually.
|
String[] |
includes |
String[] |
prefixes
The default is for
ConfigurationBuilder to look for public JavaBean-style setters. |
String |
value |
public abstract String value
configurationPrefix()
@AliasFor(annotation=AccessorsStyle.class, member="writePrefixes") public abstract String[] prefixes
The default is for ConfigurationBuilder
to look for public JavaBean-style setters. Many APIs however
use a builder-style or other style to for constructing configuration.
This method allows overriding this behaviour. For example if the builder you are authoring for prefixes write
operations with the word "with" by setting the value of this attribute to "with" you can process methods such
as withDebug(true)
@AliasFor(member="value") public abstract String configurationPrefix
When this annotation is used, by default the name of the field or method is not taken into account when retrieving configuration properties.
This method allows overriding this behaviour. For example if the annotation is placed on a field, you can change the prefix for which configuration values will be searched to populate the field.
public abstract boolean allowZeroArgs
Some APIs allow zero argument setters to set boolean flags such as setDebug()
. These by default are
not processed unless the value of this annotation is set to true.
Note that this attribute works in conjunction with prefixes()
to allow other styles such as
withDebug()
public abstract String factoryMethod
public abstract String[] children
public abstract String[] includes
public abstract String[] excludes