Merge two configurations.
Merge two configurations. The second configuration overrides the first configuration.
This is the opposite direction of Config
's withFallback
method.
Returns every path as a set of key to value pairs, by recursively iterating through the config objects.
Get the config at the given path.
Get the config at the given path and validate against a set of valid values.
Get a deprecated configuration item.
Get a deprecated configuration item.
If the deprecated configuration item is defined, it will be returned, and a warning will be logged.
Otherwise, the configuration from path will be looked up.
Get a deprecated configuration.
Get a deprecated configuration.
If the deprecated configuration is defined, it will be returned, falling back to the new configuration, and a warning will be logged.
Otherwise, the configuration from path will be looked up and used as is.
Retrieves a configuration value as Milliseconds
.
Retrieves a configuration value as Milliseconds
.
For example:
val configuration = Configuration.load() val timeout = configuration.getMillis("engine.timeout")
The configuration must be provided as:
engine.timeout = 1 second
Retrieves a configuration value as Milliseconds
.
Retrieves a configuration value as Milliseconds
.
For example:
val configuration = Configuration.load() val timeout = configuration.getNanos("engine.timeout")
The configuration must be provided as:
engine.timeout = 1 second
Get a value that may either not exist or be null.
Get a value that may either not exist or be null. Note that this is not generally considered idiomatic Config usage. Instead you should define all config keys in a reference.conf file.
Get a prototyped map of objects.
Get a prototyped map of objects.
Each value in the map will fallback to the object loaded from prototype.$path.
Get a prototyped sequence of objects.
Get a prototyped sequence of objects.
Each object in the sequence will fallback to the object loaded from prototype.$path.
Creates a configuration error for this configuration.
Creates a configuration error for this configuration.
For example:
val configuration = Configuration.load() throw configuration.globalError("Missing configuration key: [yop.url]")
the error message
the related exception
a configuration exception
Check if the given path exists.
Returns available keys.
Returns available keys.
For example:
val configuration = Configuration.load() val keys = configuration.keys
the set of keys available in this configuration
Creates a configuration error for a specific configuration key.
Creates a configuration error for a specific configuration key.
For example:
val configuration = Configuration.load() throw configuration.reportError("engine.connectionUrl", "Cannot connect!")
the configuration key, related to this error
the error message
the related exception
a configuration exception
Returns sub-keys.
Returns sub-keys.
For example:
val configuration = Configuration.load() val subKeys = configuration.subKeys
the set of direct sub-keys available in this configuration
the underlying Config implementation
Retrieves a configuration value as a Boolean
.
Retrieves a configuration value as a Boolean
.
For example:
val configuration = Configuration.load() val isEnabled = configuration.getBoolean("engine.isEnabled")
A configuration error will be thrown if the configuration value is not a valid Boolean
.
Authorized values are yes
/no
or true
/false
.
the configuration key, relative to the configuration root key
a configuration value
(Since version 2.6.0) Use get[Boolean] with reference config entry
Retrieves a configuration value as a List of Boolean
.
Retrieves a configuration value as a List of Boolean
.
For example:
val configuration = Configuration.load() val switches = configuration.getBooleanList("board.switches")
The configuration must be provided as:
board.switches = [true, true, false]
A configuration error will be thrown if the configuration value is not a valid Boolean
.
Authorized values are yes
/no
or true
/false
.
(Since version 2.6.0) Use underlying.getBooleanList with reference config entry
Retrieves a configuration value as a Seq of Boolean
.
Retrieves a configuration value as a Seq of Boolean
.
For example:
val configuration = Configuration.load() val switches = configuration.getBooleanSeq("board.switches")
The configuration must be provided as:
board.switches = [true, true, false]
A configuration error will be thrown if the configuration value is not a valid Boolean
.
Authorized values are yes
/no
or true
/false
.
(Since version 2.6.0) Use get[Seq[Boolean]] with reference config entry
Retrieves a configuration value as Bytes
.
Retrieves a configuration value as Bytes
.
For example:
val configuration = Configuration.load() val maxSize = configuration.getBytes("engine.maxSize")
The configuration must be provided as:
engine.maxSize = 512k
(Since version 2.6.0) Use underlying.getBytes with reference config entry
Retrieves a configuration value as a List of Bytes
.
Retrieves a configuration value as a List of Bytes
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getBytesList("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [512k, 256k, 256k]
(Since version 2.6.0) Use underlying.getBytesList with reference config entry
Retrieves a configuration value as a Seq of Bytes
.
Retrieves a configuration value as a Seq of Bytes
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getBytesSeq("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [512k, 256k, 256k]
(Since version 2.6.0) Use underlying.getBytesList with reference config entry
Retrieves a sub-configuration, i.e.
Retrieves a sub-configuration, i.e. a configuration instance containing all keys starting with a given prefix.
For example:
val configuration = Configuration.load() val engineConfig = configuration.getConfig("engine")
The root key of this new configuration will be ‘engine’, and you can access any sub-keys relatively.
the root prefix for this sub-configuration
a new configuration
(Since version 2.6.0) Use get[Configuration] with reference config entry
Retrieves a List of sub-configurations, i.e.
Retrieves a List of sub-configurations, i.e. a configuration instance for each key that matches the path.
For example:
val configuration = Configuration.load() val engineConfigs = configuration.getConfigList("engine")
The root key of this new configuration will be "engine", and you can access any sub-keys relatively.
(Since version 2.6.0) Use underlying.getConfigList with reference config entry
Retrieves a Seq of sub-configurations, i.e.
Retrieves a Seq of sub-configurations, i.e. a configuration instance for each key that matches the path.
For example:
val configuration = Configuration.load() val engineConfigs = configuration.getConfigSeq("engine")
The root key of this new configuration will be "engine", and you can access any sub-keys relatively.
(Since version 2.6.0) Use underlying.getConfigList with reference config entry
Retrieves a configuration value as a Double
.
Retrieves a configuration value as a Double
.
For example:
val configuration = Configuration.load() val population = configuration.getDouble("world.population")
A configuration error will be thrown if the configuration value is not a valid Double
.
the configuration key, relative to the configuration root key
a configuration value
(Since version 2.6.0) Use get[Double] with reference config entry
Retrieves a configuration value as a List of Double
.
Retrieves a configuration value as a List of Double
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getDoubleList("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [5.0, 3.34, 2.6]
(Since version 2.6.0) Use underlying.getDoubleList with reference config entry
Retrieves a configuration value as a Seq of Double
.
Retrieves a configuration value as a Seq of Double
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getDoubleSeq("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [5.0, 3.34, 2.6]
(Since version 2.6.0) Use get[Seq[Double]] with reference config entry
Retrieves a configuration value as an Int
.
Retrieves a configuration value as an Int
.
For example:
val configuration = Configuration.load() val poolSize = configuration.getInt("engine.pool.size")
A configuration error will be thrown if the configuration value is not a valid Int
.
the configuration key, relative to the configuration root key
a configuration value
(Since version 2.6.0) Use get[Int] with reference config entry
Retrieves a configuration value as a List of Integer
.
Retrieves a configuration value as a List of Integer
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getIntList("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [100, 500, 2]
(Since version 2.6.0) Use underlying.getIntList with reference config entry
Retrieves a configuration value as a Seq of Integer
.
Retrieves a configuration value as a Seq of Integer
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getIntSeq("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [100, 500, 2]
(Since version 2.6.0) Use get[Seq[Int]] with reference config entry
Gets a list value (with any element type) as a ConfigList, which implements java.util.List<ConfigValue>.
Gets a list value (with any element type) as a ConfigList, which implements java.util.List<ConfigValue>.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getList("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = ["foo", "bar"]
(Since version 2.6.0) Use get[ConfigList] with reference config entry
Retrieves a configuration value as a Long
.
Retrieves a configuration value as a Long
.
For example:
val configuration = Configuration.load() val duration = configuration.getLong("timeout.duration")
A configuration error will be thrown if the configuration value is not a valid Long
.
the configuration key, relative to the configuration root key
a configuration value
(Since version 2.6.0) Use get[Long] with reference config entry
Retrieves a configuration value as a List of Long
.
Retrieves a configuration value as a List of Long
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getLongList("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [10000000000000, 500, 2000]
(Since version 2.6.0) Use underlying.getLongList with reference config entry
Retrieves a configuration value as a Seq of Long
.
Retrieves a configuration value as a Seq of Long
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getLongSeq("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [10000000000000, 500, 2000]
(Since version 2.6.0) Use get[Seq[Long]] with reference config entry
Retrieves a configuration value as Milliseconds
.
Retrieves a configuration value as Milliseconds
.
For example:
val configuration = Configuration.load() val timeout = configuration.getMilliseconds("engine.timeout")
The configuration must be provided as:
engine.timeout = 1 second
(Since version 2.6.0) Use getMillis with reference config entry
Retrieves a configuration value as List of Milliseconds
.
Retrieves a configuration value as List of Milliseconds
.
For example:
val configuration = Configuration.load() val timeouts = configuration.getMillisecondsList("engine.timeouts")
The configuration must be provided as:
engine.timeouts = [1 second, 1 second]
(Since version 2.6.0) Use underlying.getMillisecondsList with reference config entry
Retrieves a configuration value as Seq of Milliseconds
.
Retrieves a configuration value as Seq of Milliseconds
.
For example:
val configuration = Configuration.load() val timeouts = configuration.getMillisecondsSeq("engine.timeouts")
The configuration must be provided as:
engine.timeouts = [1 second, 1 second]
(Since version 2.6.0) Use get[Seq[Duration]].map(_.toMillis) with reference config entry
Retrieves a configuration value as Nanoseconds
.
Retrieves a configuration value as Nanoseconds
.
For example:
val configuration = Configuration.load() val timeout = configuration.getNanoseconds("engine.timeout")
The configuration must be provided as:
engine.timeout = 1 second
(Since version 2.6.0) Use getNanos with reference config entry
Retrieves a configuration value as List of Nanoseconds
.
Retrieves a configuration value as List of Nanoseconds
.
For example:
val configuration = Configuration.load() val timeouts = configuration.getNanosecondsList("engine.timeouts")
The configuration must be provided as:
engine.timeouts = [1 second, 1 second]
(Since version 2.6.0) Use underlying.getNanosecondsList with reference config entry
Retrieves a configuration value as Seq of Nanoseconds
.
Retrieves a configuration value as Seq of Nanoseconds
.
For example:
val configuration = Configuration.load() val timeouts = configuration.getNanosecondsSeq("engine.timeouts")
The configuration must be provided as:
engine.timeouts = [1 second, 1 second]
(Since version 2.6.0) Use get[Seq[Duration]].map(_.toMillis) with reference config entry
Retrieves a configuration value as a Number
.
Retrieves a configuration value as a Number
.
For example:
val configuration = Configuration.load() val counter = configuration.getNumber("foo.counter")
A configuration error will be thrown if the configuration value is not a valid Number
.
the configuration key, relative to the configuration root key
a configuration value
(Since version 2.6.0) Use get[Number] with reference config entry
Retrieves a configuration value as a List of Number
.
Retrieves a configuration value as a List of Number
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getNumberList("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [50, 500, 5000]
(Since version 2.6.0) Use underlying.getNumberList with reference config entry
Retrieves a configuration value as a Seq of Number
.
Retrieves a configuration value as a Seq of Number
.
For example:
val configuration = Configuration.load() val maxSizes = configuration.getNumberSeq("engine.maxSizes")
The configuration must be provided as:
engine.maxSizes = [50, 500, 5000]
(Since version 2.6.0) Use get[Seq[Number]] with reference config entry
Retrieves a ConfigObject for this path, which implements Map<String,ConfigValue>
Retrieves a ConfigObject for this path, which implements Map<String,ConfigValue>
For example:
val configuration = Configuration.load() val engineProperties = configuration.getObject("engine.properties")
The configuration must be provided as:
engine.properties = {id: 1, power: 5}
(Since version 2.6.0) Use get[ConfigObject] with reference config entry
Retrieves a configuration value as a List of ConfigObject
.
Retrieves a configuration value as a List of ConfigObject
.
For example:
val configuration = Configuration.load() val engineProperties = configuration.getObjectList("engine.properties")
The configuration must be provided as:
engine.properties = [{id: 5, power: 3}, {id: 6, power: 20}]
(Since version 2.6.0) Use underlying.getObjectList with reference config entry
Retrieves a configuration value as a String
.
Retrieves a configuration value as a String
.
This method supports an optional set of valid values:
val config = Configuration.load() val mode = config.getString("engine.mode", Some(Set("dev","prod")))
A configuration error will be thrown if the configuration value does not match any of the required values.
the configuration key, relative to configuration root key
valid values for this configuration
a configuration value
(Since version 2.6.0) Use get[String] or getAndValidate[String] with reference config entry
Retrieves a configuration value as a List of String
.
Retrieves a configuration value as a List of String
.
For example:
val configuration = Configuration.load() val names = configuration.getStringList("names")
The configuration must be provided as:
names = ["Jim", "Bob", "Steve"]
(Since version 2.6.0) Use underlying.getStringList with reference config entry
Retrieves a configuration value as a Seq of String
.
Retrieves a configuration value as a Seq of String
.
For example:
val configuration = Configuration.load() val names = configuration.getStringSeq("names")
The configuration must be provided as:
names = ["Jim", "Bob", "Steve"]
(Since version 2.6.0) Use get[Seq[String]] with reference config entry
A full configuration set.
The underlying implementation is provided by https://github.com/typesafehub/config.
the underlying Config implementation