Module io.helidon.config.metadata
Package io.helidon.config.metadata
Annotation 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 a
public static X create(Config), or a builder class with
a method public Builder config(Config).
This annotation is used to provide IDE autocompletion, and to build documentation metadata
using an annotation processor.-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionDescription of this configured type.booleanThis is a helper to workaround issues where multiple builders build the same type and they do not make sense standalone.Standalone configuration objects use a prefix to mark where Helidon expects them in the configuration tree.Class<?>[]Additional types this type provides.booleanWhether this is a root configuration object.
-
Element Details
-
root
boolean rootWhether 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 prefixStandalone configuration objects use a prefix to mark where Helidon expects them in the configuration tree.- Returns:
- prefix of all configuration options
- Default:
""
-
ignoreBuildMethod
boolean ignoreBuildMethodThis 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:
trueif build method should be ignored
- Default:
false
-
description
String descriptionDescription 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<?>[] providesAdditional 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:
{}
-