Class CommandLineConfigurationSource

java.lang.Object
io.inverno.mod.configuration.internal.AbstractConfigurationSource<io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashConfigurationQuery<String,CommandLineConfigurationSource>,io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashExecutableConfigurationQuery<String,CommandLineConfigurationSource>,io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashListConfigurationQuery<String,CommandLineConfigurationSource>,String,CommandLineConfigurationSource>
io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<String,CommandLineConfigurationSource>
io.inverno.mod.configuration.source.CommandLineConfigurationSource
All Implemented Interfaces:
ConfigurationSource, DefaultableConfigurationSource

public class CommandLineConfigurationSource extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<String,CommandLineConfigurationSource>

A configuration source that looks up properties from command line arguments.

Configuration properties are specified as application arguments using the following syntax (ABNF):


 argument        = "--" {@literal property_name} [ "[" *(parameter ",") "]" ] "=" property_value

 property_name   = java_name

 property_value  = java_integer_literal
                 / java_floating_point_literal
                 / java_string_literal
                 / java_boolean_literal
                 / "unset"
                 / "null"

 parameter       = parameter_name "=" parameter_value

 parameter_name  = java_identifier

 parameter_value = java_integer_literal
                 / java_floating_point_literal
                 / java_string_literal
                 / java_boolean_literal

 

The following are valid configuration properties passed as command line arguments:

  • --web.server_port=8080
  • --web.server_port[profile="ssl"]=8443
  • --db.url[env="dev"]="jdbc:oracle:thin:@dev.db.server:1521:sid"
  • --db.url[env="prod",zone="eu"]="jdbc:oracle:thin:@prod_eu.db.server:1521:sid"
  • --db.url[env="prod",zone="us"]="jdbc:oracle:thin:@prod_us.db.server:1521:sid"
Since:
1.0
Author:
Jeremy Kuhn
See Also:
  • AbstractHashConfigurationSource
  • Nested Class Summary

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

    io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashConfigurationQuery<A,B extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<A,B>>, io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashConfigurationQueryResult<A,B extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<A,B>>, io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashExecutableConfigurationQuery<A,B extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<A,B>>, io.inverno.mod.configuration.internal.AbstractHashConfigurationSource.HashListConfigurationQuery<A,B extends io.inverno.mod.configuration.internal.AbstractHashConfigurationSource<A,B>>
  • Field Summary

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

    defaultingStrategy

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

    decoder, defaultParameters, original
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a command line configuration source with the specified arguments using a Java String value decoder.
    Creates a command line configuration source with the specified arguments and the specified string value decoder.
  • Method Summary

    Modifier and Type
    Method
    Description
    Loads the configuration properties.
    Returns a proxy of the defaultable configuration source instance using the specified defaulting strategy.
    Defines parameters that specify the context in which configuration properties are to be retrieved.

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

    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

    • CommandLineConfigurationSource

      public CommandLineConfigurationSource(String[] args)

      Creates a command line configuration source with the specified arguments using a Java String value decoder.

      Parameters:
      args - the command line arguments
    • CommandLineConfigurationSource

      public CommandLineConfigurationSource(String[] args, SplittablePrimitiveDecoder<String> decoder)

      Creates a command line configuration source with the specified arguments and the specified string value decoder.

      Parameters:
      args - the command line arguments
      decoder - a string decoder
  • Method Details