- Type Parameters:
T
- type of the value
- All Superinterfaces:
ConfigValue<T>
,OptionalValue<T>
,Value<T>
Config
node.
You can use accessor methods on Config
to obtain this value, such as Config.as(Class)
.
A typed value that has all the methods of Optional
- including the ones added in JDK9 and newer.
In addition it has methods to access config values as supplier()
.
- See Also:
-
Method Summary
Modifier and TypeMethodDescription<N> ConfigValue
<N> Convert thisConfigValue
to a different type using a mapper function.default T
get()
Typed value of the representedConfig
node.key()
Returns the fully-qualified key of the originatingConfig
node.default String
name()
Returns the last token of the fully-qualified key for the originatingConfig
node.Returns aSupplier
of anOptional<T>
of the configuration node.supplier()
Returns a supplier of a typed value.Returns a supplier of a typed value with a default.Methods inherited from interface io.helidon.common.config.ConfigValue
as, as
Methods inherited from interface io.helidon.common.mapper.OptionalValue
asBoolean, asDouble, asInt, asLong, asString, ifPresent, ifPresentOrElse, isEmpty, isPresent, map, or, orElse, orElseGet, orElseThrow, orElseThrow
-
Method Details
-
key
Config.Key key()Returns the fully-qualified key of the originatingConfig
node.The fully-qualified key is a sequence of tokens derived from the name of each node along the path from the config root to the current node. Tokens are separated by
.
(the dot character). Seename()
for more information on the format of each token.- Specified by:
key
in interfaceConfigValue<T>
- Returns:
- current config node key
- See Also:
-
name
Returns the last token of the fully-qualified key for the originatingConfig
node.The name of a node is the last token in its fully-qualified key.
The exact format of the name depends on the
Type
of the containing node:- from a
Config.Type.OBJECT
node the token for a child is the name of the object member; - from a
Config.Type.LIST
node the token for a child is a zero-based index of the element, an unsigned base-10 integer value with no leading zeros.
The ABNF syntax of config key is:
config-key = *1( key-token *( "." key-token ) ) key-token = *( unescaped / escaped ) unescaped = %x00-2D / %x2F-7D / %x7F-10FFFF ; %x2E ('.') and %x7E ('~') are excluded from 'unescaped' escaped = "~" ( "0" / "1" ) ; representing '~' and '.', respectively
- from a
-
get
Typed value of the representedConfig
node. ThrowsMissingValueException
if the node isConfig.Type.MISSING
type.- Specified by:
get
in interfaceOptionalValue<T>
- Specified by:
get
in interfaceValue<T>
- Returns:
- direct value of this node converted to the expected type
- Throws:
MissingValueException
- in case the node isConfig.Type.MISSING
.ConfigMappingException
- in case the value cannot be converted to the expected type
-
as
Convert thisConfigValue
to a different type using a mapper function.- Specified by:
as
in interfaceConfigValue<T>
- Specified by:
as
in interfaceOptionalValue<T>
- Specified by:
as
in interfaceValue<T>
- Type Parameters:
N
- type of the returnedConfigValue
- Parameters:
mapper
- mapper to map the type of thisConfigValue
to a type of the returnedConfigValue
- Returns:
- a new value with the new type
-
supplier
Returns a supplier of a typed value. The value provided from the supplier is the latest value available. E.g. in case there is a file config source that is being watched and a value is changed, this supplier would return the latest value, whereasget()
would return the original value.Note that
Supplier.get()
can throw aConfigMappingException
orMissingValueException
as theget()
method.- Specified by:
supplier
in interfaceConfigValue<T>
- Returns:
- a supplier of a typed value
-
supplier
Returns a supplier of a typed value with a default. The value provided from the supplier is the latest value available. E.g. in case there is a file config source that is being watched and a value is changed, this supplier would return the latest value, whereasOptionalValue.orElse(Object)
would return the original value.Note that
Supplier.get()
can throw aConfigMappingException
as theOptionalValue.orElse(Object)
method.- Specified by:
supplier
in interfaceConfigValue<T>
- Parameters:
defaultValue
- a value to be returned if the supplied value represents aConfig
node that has no direct value- Returns:
- a supplier of a typed value
-
optionalSupplier
Returns aSupplier
of anOptional<T>
of the configuration node. Supplier returns aempty
if the node does not have a direct value.- Specified by:
optionalSupplier
in interfaceConfigValue<T>
- Returns:
- a supplier of the value as an
Optional
typed instance,empty
in case the node does not have a direct value - See Also:
-