the underlying Config implementation
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