Support for handling the generation of code for Helidon builders and configured builders. The starting point is
Prototype.Blueprint that is used on a package local interface.
This will generate an interface, builder, and an implementation.
A few things to note:
- The target type that is annotated with the blueprint annotation should have all getter-like methods.
- Any static or default method will be ignored during APT processing.
ClassDescriptionCustom description.Prototype option annotations.Customize access modifier for builder methods.Can be used to define a list of possible values of an option.Allowed values for this option.Mark a getter method as confidential - not suitable to be used in clear text in
toStringmethod.Mark a prototype option as one that can be read from
Config.Define an option decorator.A String default value for a prototype option.A boolean default value for a prototype option.A default value that will be copied verbatim into the sources.A double default value for a prototype option.An integer default value for a prototype option.A long default value for a prototype option.A default value created from a method for a prototype option.Mark an option as deprecated.Mark option as sourced from a
ServiceLoader.Mark a getter method as redundant - not important for
toString.Mark option as a required option.Useful for marking map properties, where the key and value must have the same generic type.Applying this annotation to a
Prototype.Blueprint-annotated interface method will cause the generated class to also include additional "add*()" methods.Explicitly define a type (may include generics) in case the type is located in the same module, and cannot be inferred correctly by the annotation processor.Prototype is generated from a prototype blueprint, and it is expected to be part of the public API of the module.Marker interface for the prototype API, usually a generated interface.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.Prototype.Builder<BUILDER,
PROTOTYPE>Terminating method of this builder that creates a prototype instance.Provides a contract by which the
Prototype.Blueprintannotated type can be decorated.Annotated static method of a custom methods type to be added to builder.A blueprint annotated with this annotation will create a prototype that can be created from a
Prototype.Builderthat supports configuration.Annotated constant of a custom methods type to be added to prototype interface.Additional methods from this type will be added to the prototype and its builder.A prototype
Prototype.Blueprintmay extend this interface to explicitly reference the associated runtime type.This is an annotation used by Helidon code generator that marks a static method as a factory method.Add additional interfaces to implement by the prototype.Provides a way to decorate a single option when it is applied to the builder.Annotated static method of a custom methods type to be added to prototype interface.Types provided by this configured type.This class holds all types related to runtime types, configured from prototypes.This type is created from a specific prototype.Mark this runtime type as prototyped by a specific prototype.