-
@Target(TYPE) @Inherited @Retention(CLASS) public @interface Configured
A configured class can load its values from configuration. There are two options for a supported type - either it is an interface/class with apublic static X create(Config)
, or a builder class with a methodpublic Builder config(Config)
. This annotation is used to provide IDE autocompletion, and to build documentation metadata using an annotation processor.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description String
description
Description of this configured type.boolean
ignoreBuildMethod
This is a helper to workaround issues where multiple builders build the same type and they do not make sense standalone.String
prefix
Standalone configuration objects use a prefix to mark where Helidon expects them in the configuration tree.Class<?>[]
provides
Additional types this type provides.boolean
root
Whether this is a root configuration object.
-
-
-
Element Detail
-
root
boolean root
Whether this is a root configuration object. If set tofalse
(default), the object is considered to be nested in another configuration. For example WebServer is a standalone configuration object, as it can be read directly from configuration. ThreadPoolSupplier is not standalone, as it can be used only as part of another object.- Returns:
- whether this is a standalone configuration object
- Default:
- false
-
-
-
prefix
String prefix
Standalone configuration objects use a prefix to mark where Helidon expects them in the configuration tree.- Returns:
- prefix of all configuration options
- Default:
- ""
-
-
-
ignoreBuildMethod
boolean ignoreBuildMethod
This is a helper to workaround issues where multiple builders build the same type and they do not make sense standalone. This will force the builder to be a separate configuration type and not part of the built type.- Returns:
true
if build method should be ignored
- Default:
- false
-
-
-
description
String description
Description of this configured type. Only used if this isroot()
, or ifprovides()
is not empty. Nested options use documentation defined on the parent type.- Returns:
- description of this (root) node
- Default:
- ""
-
-
-
provides
Class<?>[] provides
Additional types this type provides. For example security expects aSecurityProvider
- basic authentication provider is such a provider, so it can be marked to provide this type.- Returns:
- types this configured type provides in addition to its qualified class name
- Default:
- {}
-
-