Module io.helidon.builder.api
Package io.helidon.builder.api
package io.helidon.builder.api
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.
-
ClassDescriptionPrototype is generated from a prototype blueprint, and it is expected to be part of the public API of the module.Adding this annotation in conjunction with the
Prototype.Blueprinton a target interface type or method causes thePrototype.Annotated.value()be added to the generated implementation class and methods respectfully.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 thePrototype.Blueprintannotated type can be intercepted (i.e., including decoration or mutation).Annotated static method of a custom methods type to be added to builder.Mark a getter method as confidential - not suitable to be used in clear text intoStringmethod.Prototype.ConfiguredBuilder<BUILDER,PROTOTYPE> Extension ofPrototype.Builderthat supports configuration.Additional methods from this type will be added to the prototype and its builder.A prototypePrototype.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.Annotated static method of a custom methods type to be added to prototype interface.Mark a getter method as redundant - not important forequals,hashcode, and/ortoString.Useful for marking map properties, where the key and value must have the same generic type.Applying this annotation to aPrototype.Blueprint-annotated interface method will cause the generated class to also include additional "add*()" methods.This class holds all types related to runtime types, configured from prototypes.RuntimeType.Api<T extends Prototype.Api>This type is created from a specific prototype.Mark this runtime type as prototyped by a specific prototype.