You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: builder/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ The following list of features is currently supported:
22
22
-`Map` options - key/value map, builders support any key/value types, but if configuration is used, the key must be a string
23
23
- "Singular" for collection based options, which adds setter for a single value (for `List<String> algorithms()`, there would be the following setters: `algorithms(List<String>)`, `addAlgorithms(List<String>)`, `addAlgorithm(String)`)
24
24
- A type can be `@Configured`, which adds integration with Helidon common Config module, by adding a static factory method `create(io.helidon.common.Config)` to the generated type, as well as `config(Config)` method to the generated builder, that sets all options annotated with `@ConfiguredOption` from configuration (if present in the Config instance)
25
-
- Capability to update the builder before validation (interceptor)
25
+
- Capability to update the builder before validation (decorator)
26
26
- Support for custom methods (`@Prototype.CustomMethods`) for factory methods, prototype methods, and builder methods
27
27
28
28
## Non-Goals
@@ -84,4 +84,4 @@ Generated types will be available under `./target/generated-sources/annotations`
84
84
* Support for `builder(MyConfigBean)` to create a new builder from an existing instance
85
85
* Support for `from(MyConfigBean)` and `from(MyConfigBean.BuilderBase<?, ?>)` to update builder from an instance or builder
86
86
* Support for validation of required and non-nullable options (required options are options that have `@ConfiguredOption(required=true)`, non-nullable option is any option that is not primitive, collection, and does not return an `Optional`)
87
-
* Support for builder interception (`@Bluprint(builderInterceptor = MyInterceptor.class)`)
87
+
* Support for builder decorator (`@Bluprint(decorator = MyDecorator.class)`), `class MyDecorator implements BuilderDecorator`
|`RuntimeType.Api`|`false`| runtime type must implement this interface to mark which prototype is used to create it |
93
-
|`Prototype.Factory`|`false`| if blueprint implements factory, it means the prototype is used to create a single runtime type and will have methods `build` and `get` both on builder an on prototype interface that create a new instance of the runtime object |
94
-
|`Prototype.BuilderInterceptor`|`false`| custom interceptor to modidfy buider before validation is done in method `build`|
95
-
|`Prototype.Api`|`true`| all prototypes implement this interface |
96
-
|`Prototype.Builder`|`true`| all prototype builders implement this interface, defines method `buildPrototype`|
97
-
|`Prototype.ConfiguredBuilder`|`true`| all prototype builders that support configuration implement this interface, defines method `config(Config)`|
|`RuntimeType.Api`|`false`| runtime type must implement this interface to mark which prototype is used to create it |
93
+
|`Prototype.Factory`|`false`| if blueprint implements factory, it means the prototype is used to create a single runtime type and will have methods `build` and `get` both on builder an on prototype interface that create a new instance of the runtime object |
94
+
|`Prototype.BuilderDecorator`|`false`| custom decorator to modify builder before validation is done in method `build`|
95
+
|`Prototype.Api`|`true`| all prototypes implement this interface |
96
+
|`Prototype.Builder`|`true`| all prototype builders implement this interface, defines method `buildPrototype`|
97
+
|`Prototype.ConfiguredBuilder`|`true`| all prototype builders that support configuration implement this interface, defines method `config(Config)`|
0 commit comments