Module io.helidon.builder.api
Package io.helidon.builder.api
Annotation Interface Prototype.Blueprint
- Enclosing class:
Prototype
A package local type (by design) that defines getter methods and possible static factory methods
that form prototype information that is generated through annotation processing.
The following names are prohibited from being builder properties:
build
- builder terminating method that builds runtime type from builder, and creates runtime type from prototypebuildPrototype
- builder terminating method that builds prototypeget
- same asbuild
, inherited fromSupplier
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionboolean
Whether to use bean style setters and getters, or not (default is not).boolean
Builder can be set to be package local only.boolean
Method create() is created whenever there are no fields required (or all have default values).boolean
Method create(config) is public by default.Class
<? extends Prototype.BuilderDecorator> Used to decorate the builder, right before method build is called.boolean
The generated interface is public by default.
-
Element Details
-
isPublic
boolean isPublicThe generated interface is public by default. We can switch it to package local by setting this property tofalse
.- Returns:
- whether the generated interface should be public
- Default:
true
-
builderPublic
boolean builderPublicBuilder can be set to be package local only. In such a case, all handling must be done through other static factory methods (hides the builder from the world).- Returns:
- whether factory methods to obtain builder should be public on prototype
- Default:
true
-
createFromConfigPublic
boolean createFromConfigPublicMethod create(config) is public by default.- Returns:
- whether factory method create(config) should be public on prototype
- Default:
true
-
createEmptyPublic
boolean createEmptyPublicMethod create() is created whenever there are no fields required (or all have default values). This property can disable generation of the method.- Returns:
- whether factory method create() should be created on prototype
- Default:
true
-
beanStyle
boolean beanStyleWhether to use bean style setters and getters, or not (default is not). If set totrue
, only methods starting withget
would be used, and all setters will start withset
, except for add methods.- Returns:
- whether to use bean style accessors, defaults to false
- Default:
false
-
decorator
Class<? extends Prototype.BuilderDecorator> decoratorUsed to decorate the builder, right before method build is called. Validations are done AFTER the decorator is handled. This class may be package local if located in the same package as blueprint. The class must have accessible constructor with no parameters.- Returns:
- decorator type
- Default:
io.helidon.builder.api.Prototype.BuilderDecorator.class
-