Class SystemEnvironmentConfigurationSource

java.lang.Object
io.inverno.mod.configuration.internal.AbstractConfigurationSource<io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyConfigurationQuery<String,SystemEnvironmentConfigurationSource>,io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyExecutableConfigurationQuery<String,SystemEnvironmentConfigurationSource>,io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyListConfigurationQuery<String,SystemEnvironmentConfigurationSource>,String,SystemEnvironmentConfigurationSource>
io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource<String,SystemEnvironmentConfigurationSource>
io.inverno.mod.configuration.source.SystemEnvironmentConfigurationSource
All Implemented Interfaces:
ConfigurationSource

public class SystemEnvironmentConfigurationSource extends io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource<String,SystemEnvironmentConfigurationSource>

A configuration source that looks up properties from the system environment variables.

Note that this source doesn't support parameterized queries, regardless of the parameters specified in a query, only the configuration key name is considered when resolving a value.

Since:
1.0
Author:
Jeremy Kuhn
See Also:
  • AbstractPropertiesConfigurationSource
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource

    io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyConfigurationQuery<A,B extends io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource<A,B>>, io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyConfigurationQueryResult, io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyExecutableConfigurationQuery<A,B extends io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource<A,B>>, io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyListConfigurationQuery<A,B extends io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource<A,B>>
  • Field Summary

    Fields inherited from class io.inverno.mod.configuration.internal.AbstractConfigurationSource

    decoder, defaultParameters, original
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a system environment configuration source.
    Creates a system environment configuration source with the specified string value decoder.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Optional<String>
    Returns the value of the property identified by the specified name.
    protected Set<String>
    Returns the list of property names managed by the source.
    The environment source doesn't support parameterized queries, regardless of the parameters specified in a query, only the configuration key name is considered when resolving a value.

    Methods inherited from class io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource

    get, list

    Methods inherited from class io.inverno.mod.configuration.internal.AbstractConfigurationSource

    getDecoder, setDecoder, unwrap, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters, withParameters

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SystemEnvironmentConfigurationSource

      public SystemEnvironmentConfigurationSource()

      Creates a system environment configuration source.

    • SystemEnvironmentConfigurationSource

      public SystemEnvironmentConfigurationSource(SplittablePrimitiveDecoder<String> decoder)

      Creates a system environment configuration source with the specified string value decoder.

      Parameters:
      decoder - a string decoder
  • Method Details

    • withParameters

      The environment source doesn't support parameterized queries, regardless of the parameters specified in a query, only the configuration key name is considered when resolving a value.

      Specified by:
      withParameters in interface ConfigurationSource
      Specified by:
      withParameters in class io.inverno.mod.configuration.internal.AbstractConfigurationSource<io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyConfigurationQuery<String,SystemEnvironmentConfigurationSource>,io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyExecutableConfigurationQuery<String,SystemEnvironmentConfigurationSource>,io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource.PropertyListConfigurationQuery<String,SystemEnvironmentConfigurationSource>,String,SystemEnvironmentConfigurationSource>
      Parameters:
      parameters - a list of parameters
      Returns:
      the executable configuration query
      Throws:
      IllegalArgumentException - if parameters were specified more than once
    • getPropertyValue

      protected Optional<String> getPropertyValue(String name)
      Description copied from class: io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource

      Returns the value of the property identified by the specified name.

      This methods should rely on an underlying synchronous property accessor.

      Specified by:
      getPropertyValue in class io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource<String,SystemEnvironmentConfigurationSource>
      Parameters:
      name - the configuration property name
      Returns:
      an optional returning the configuration property value, or an empty optional if there's no value defined for the specified key
    • listProperties

      protected Set<String> listProperties()
      Description copied from class: io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource

      Returns the list of property names managed by the source.

      Specified by:
      listProperties in class io.inverno.mod.configuration.internal.AbstractPropertiesConfigurationSource<String,SystemEnvironmentConfigurationSource>
      Returns:
      a set of configuration property names