- Type Parameters:
T- type of the value
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().
-
Method Summary
Modifier and TypeMethodDescription<N> ConfigValue<N>Convert thisConfigValueto a different type using a mapper function.Returns a typed value asOptional.If a value is present, and the value matches the given predicate, return anOptionaldescribing the value, otherwise return an emptyOptional.default <U> Optional<U>If a value is present, apply the providedOptional-bearing mapping function to it, return that result, otherwise return an emptyOptional.default Tget()Typed value of the representedConfignode.default voidIf a value is present, invoke the specified consumer with the value, otherwise do nothing.default voidifPresentOrElse(Consumer<T> action, Runnable emptyAction) If a value is present, performs the given action with the value, otherwise performs the given empty-based action.default booleanReturntrueif there is a value present, otherwisefalse.key()Returns the fully-qualified key of the originatingConfignode.default <U> Optional<U>If a value is present, apply the provided mapping function to it, and if the result is non-null, return anOptionaldescribing the result.default Stringname()Returns the last token of the fully-qualified key for the originatingConfignode.Returns aSupplierof anOptional<T>of the configuration node.If the underlyingOptionaldoes not have a value, set it to theOptionalproduced by the supplying function.default TReturn the value if present, otherwise returnother.default TReturn the value if present, otherwise invokeotherand return the result of that invocation.orElseThrow(Supplier<? extends X> exceptionSupplier) Return the contained value, if present, otherwise throw an exception to be created by the provided supplier.stream()If a value is present, returns a sequentialStreamcontaining only that value, otherwise returns an emptyStream.supplier()Returns a supplier of a typed value.Returns a supplier of a typed value with a default.
-
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.- 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- Returns:
- current config node key
- See Also:
- from a
-
asOptional
Returns a typed value asOptional. Returns aemptyfor nodes without a value. As this class implements all methods ofOptional, this is only a utility method if an actualOptionalinstance is needed.- Returns:
- value as type instance as
Optional,emptyin case the node does not have a direct value - Throws:
ConfigMappingException- in case the value cannot be converted to the expected type- See Also:
-
get
Typed value of the representedConfignode. ThrowsMissingValueExceptionif the node isConfig.Type.MISSINGtype.- 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.- 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.- 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, whereasorElse(Object)would return the original value.Note that
Supplier.get()can throw aConfigMappingExceptionas theorElse(Object)method.- 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. -
or
If the underlyingOptionaldoes not have a value, set it to theOptionalproduced by the supplying function.- Parameters:
supplier- the supplying function that produces anOptional- Returns:
- returns current value using
asOptional()if present, otherwise value produced by the supplying function. - Throws:
NullPointerException- if the supplying function isnullor produces anullresult
-
isPresent
default boolean isPresent()Returntrueif there is a value present, otherwisefalse.Copied from
Optional. You can get real optional fromasOptional().- Returns:
trueif there is a value present, otherwisefalse- See Also:
-
ifPresentOrElse
If a value is present, performs the given action with the value, otherwise performs the given empty-based action.- Parameters:
action- the action to be performed, if a value is presentemptyAction- the empty-based action to be performed, if no value is present- Throws:
NullPointerException- if a value is present and the given action isnull, or no value is present and the given empty-based action isnull.
-
ifPresent
If a value is present, invoke the specified consumer with the value, otherwise do nothing.Copied from
Optional. You can get real optional fromasOptional().- Parameters:
consumer- block to be executed if a value is present- Throws:
NullPointerException- if value is present andconsumeris null- See Also:
-
filter
If a value is present, and the value matches the given predicate, return anOptionaldescribing the value, otherwise return an emptyOptional.Copied from
Optional. You can get real optional fromasOptional().- Parameters:
predicate- a predicate to apply to the value, if present- Returns:
- an
Optionaldescribing the value of thisOptionalif a value is present and the value matches the given predicate, otherwise an emptyOptional - Throws:
NullPointerException- if the predicate is null- See Also:
-
map
If a value is present, apply the provided mapping function to it, and if the result is non-null, return anOptionaldescribing the result. Otherwise return an emptyOptional.- Type Parameters:
U- The type of the result of the mapping function- Parameters:
mapper- a mapping function to apply to the value, if present- Returns:
- an
Optionaldescribing the result of applying a mapping function to the value of thisOptional, if a value is present, otherwise an emptyOptional - Throws:
NullPointerException- if the mapping function is nullCopied from
Optional. You can get real optional fromasOptional().- See Also:
-
flatMap
If a value is present, apply the providedOptional-bearing mapping function to it, return that result, otherwise return an emptyOptional. This method is similar tomap(Function), but the provided mapper is one whose result is already anOptional, and if invoked,flatMapdoes not wrap it with an additionalOptional.Copied from
Optional. You can get real optional fromasOptional().- Type Parameters:
U- The type parameter to theOptionalreturned by- Parameters:
mapper- a mapping function to apply to the value, if present the mapping function- Returns:
- the result of applying an
Optional-bearing mapping function to the value of thisOptional, if a value is present, otherwise an emptyOptional - Throws:
NullPointerException- if the mapping function is null or returns a null result- See Also:
-
orElse
Return the value if present, otherwise returnother.Copied from
Optional. You can get real optional fromasOptional().- Parameters:
other- the value to be returned if there is no value present, may be null- Returns:
- the value, if present, otherwise
other - See Also:
-
orElseGet
Return the value if present, otherwise invokeotherand return the result of that invocation.Copied from
Optional. You can get real optional fromasOptional().- Parameters:
other- aSupplierwhose result is returned if no value is present- Returns:
- the value if present otherwise the result of
other.get() - Throws:
NullPointerException- if value is not present andotheris null- See Also:
-
orElseThrow
Return the contained value, if present, otherwise throw an exception to be created by the provided supplier.Copied from
Optional. You can get real optional fromasOptional().- Type Parameters:
X- Type of the exception to be thrown- Parameters:
exceptionSupplier- The supplier which will return the exception to be thrown- Returns:
- the present value
- Throws:
X- if there is no value presentNullPointerException- if no value is present andexceptionSupplieris null- See Also:
-
stream
If a value is present, returns a sequentialStreamcontaining only that value, otherwise returns an emptyStream.- Returns:
- the optional value as a
Stream
-