Interface ConfigValue<T>

Type Parameters:
T - type of the value
All Superinterfaces:
OptionalValue<T>, Value<T>
All Known Subinterfaces:
ConfigValue<T>

public interface ConfigValue<T> extends OptionalValue<T>
A typed value of a 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.

  • Method Details

    • key

      Config.Key key()
      Returns the fully-qualified key of the originating Config 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). See name() for more information on the format of each token.

      Returns:
      current config node key
      See Also:
    • name

      default String name()
      Returns the last token of the fully-qualified key for the originating Config 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 Type#OBJECT node the token for a child is the name of the object member;
      • from a 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
       
      Specified by:
      name in interface Value<T>
      Returns:
      current config node key
      See Also:
    • as

      <N> ConfigValue<N> as(Function<? super T,? extends N> mapper)
      Convert this ConfigValue to a different type using a mapper function.
      Specified by:
      as in interface OptionalValue<T>
      Specified by:
      as in interface Value<T>
      Type Parameters:
      N - type of the returned ConfigValue
      Parameters:
      mapper - mapper to map the type of this ConfigValue to a type of the returned ConfigValue
      Returns:
      a new value with the new type
    • as

      <N> ConfigValue<N> as(Class<N> type)
      Description copied from interface: Value
      Convert this value to a different type using a mapper.
      Specified by:
      as in interface OptionalValue<T>
      Specified by:
      as in interface Value<T>
      Type Parameters:
      N - type we expect
      Parameters:
      type - type to convert to
      Returns:
      converted value
    • as

      <N> ConfigValue<N> as(GenericType<N> type)
      Description copied from interface: Value
      Convert this value to a different type using a mapper.
      Specified by:
      as in interface OptionalValue<T>
      Specified by:
      as in interface Value<T>
      Type Parameters:
      N - type we expect
      Parameters:
      type - type to convert to
      Returns:
      converted value
    • supplier

      Supplier<T> supplier()
      Returns a supplier of a typed value. The semantics depend on implementation, this may always return the same value, or it may provide latest value if changes are enabled.

      Note that Supplier.get() can throw a ConfigException if the value cannot be converted, or if the value is missing.

      Returns:
      a supplier of a typed value
    • supplier

      Supplier<T> supplier(T defaultValue)
      Returns a supplier of a typed value with a default.

      The semantics depend on implementation, this may always return the same value, or it may provide latest value if changes are enabled.

      Note that Supplier.get() can throw a ConfigException if the value cannot be converted.

      Parameters:
      defaultValue - a value to be returned if the supplied value represents a Config node that has no direct value
      Returns:
      a supplier of a typed value
    • optionalSupplier

      Supplier<Optional<T>> optionalSupplier()
      Returns a Supplier of an Optional<T> of the configuration node.

      Supplier returns a empty if the node does not have a direct value.

      Returns:
      a supplier of the value as an Optional typed instance, empty in case the node does not have a direct value
      See Also: