- 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 thisConfigValueto a different type using a mapper function.default Tget()Typed value of the representedConfignode.key()Returns the fully-qualified key of the originatingConfignode.default Stringname()Returns the last token of the fully-qualified key for the originatingConfignode.Returns aSupplierof 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, asMethods 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 originatingConfignode.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:
keyin interfaceConfigValue<T>- Returns:
- current config node key
- See Also:
-
name
Returns the last token of the fully-qualified key for the originatingConfignode.The name of a node is the last token in its fully-qualified key.
The exact format of the name depends on the
Typeof the containing node:- from a
Config.Type.OBJECTnode the token for a child is the name of the object member; - from a
Config.Type.LISTnode 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 representedConfignode. ThrowsMissingValueExceptionif the node isConfig.Type.MISSINGtype.- Specified by:
getin interfaceOptionalValue<T>- Specified by:
getin 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 thisConfigValueto a different type using a mapper function.- Specified by:
asin interfaceConfigValue<T>- Specified by:
asin interfaceOptionalValue<T>- Specified by:
asin interfaceValue<T>- Type Parameters:
N- type of the returnedConfigValue- Parameters:
mapper- mapper to map the type of thisConfigValueto 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 aConfigMappingExceptionorMissingValueExceptionas theget()method.- Specified by:
supplierin 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 aConfigMappingExceptionas theOptionalValue.orElse(Object)method.- Specified by:
supplierin interfaceConfigValue<T>- Parameters:
defaultValue- a value to be returned if the supplied value represents aConfignode that has no direct value- Returns:
- a supplier of a typed value
-
optionalSupplier
Returns aSupplierof anOptional<T>of the configuration node. Supplier returns aemptyif the node does not have a direct value.- Specified by:
optionalSupplierin interfaceConfigValue<T>- Returns:
- a supplier of the value as an
Optionaltyped instance,emptyin case the node does not have a direct value - See Also:
-