public final class ConfigValueFactory extends java.lang.Object
ConfigValue
instances. See also ConfigFactory
which has methods for parsing files
and certain in-memory data structures.Modifier and Type | Method and Description |
---|---|
static ConfigValue |
fromAnyRef(java.lang.Object object)
See the other overload
fromAnyRef(Object,String) for details,
this one just uses a default origin description. |
static ConfigValue |
fromAnyRef(java.lang.Object object,
java.lang.String originDescription)
Creates a
ConfigValue from a plain Java boxed value, which may be
a Boolean , Number , String ,
Map , Iterable , or null . |
static ConfigList |
fromIterable(java.lang.Iterable<? extends java.lang.Object> values)
See the other overload of
fromIterable(Iterable, String) for
details, this one just uses a default origin description. |
static ConfigList |
fromIterable(java.lang.Iterable<? extends java.lang.Object> values,
java.lang.String originDescription)
See the
fromAnyRef(Object,String) documentation for details. |
static ConfigObject |
fromMap(java.util.Map<java.lang.String,? extends java.lang.Object> values)
See the other overload
fromMap(Map,String) for details, this one
just uses a default origin description. |
static ConfigObject |
fromMap(java.util.Map<java.lang.String,? extends java.lang.Object> values,
java.lang.String originDescription)
See the
fromAnyRef(Object,String) documentation for details. |
public static fromAnyRef(java.lang.Object object, java.lang.String originDescription)
ConfigValue
from a plain Java boxed value, which may be
a Boolean
, Number
, String
,
Map
, Iterable
, or null
. A
Map
must be a Map
from String to more values
that can be supplied to fromAnyRef()
. An
Iterable
must iterate over more values that can be supplied
to fromAnyRef()
. A Map
will become a
ConfigObject
and an Iterable
will become a
ConfigList
. If the Iterable
is not an ordered
collection, results could be strange, since ConfigList
is
ordered.
In a Map
passed to fromAnyRef()
, the map's keys
are plain keys, not path expressions. So if your Map
has a
key "foo.bar" then you will get one object with a key called "foo.bar",
rather than an object with a key "foo" containing another object with a
key "bar".
The originDescription will be used to set the origin() field on the ConfigValue. It should normally be the name of the file the values came from, or something short describing the value such as "default settings". The originDescription is prefixed to error messages so users can tell where problematic values are coming from.
Supplying the result of ConfigValue.unwrapped() to this function is guaranteed to work and should give you back a ConfigValue that matches the one you unwrapped. The re-wrapped ConfigValue will lose some information that was present in the original such as its origin, but it will have matching values.
If you pass in a ConfigValue
to this
function, it will be returned unmodified. (The
originDescription
will be ignored in this
case.)
This function throws if you supply a value that cannot be converted to a ConfigValue, but supplying such a value is a bug in your program, so you should never handle the exception. Just fix your program (or report a bug against this library).
object
- object to convert to ConfigValueoriginDescription
- name of origin file or brief description of what the value ispublic static fromMap(java.util.Map<java.lang.String,? extends java.lang.Object> values, java.lang.String originDescription)
fromAnyRef(Object,String)
documentation for details.
This is a typesafe wrapper that only works on Map
and
returns ConfigObject
rather than ConfigValue
.
If your Map
has a key "foo.bar" then you will get one object
with a key called "foo.bar", rather than an object with a key "foo"
containing another object with a key "bar". The keys in the map are keys;
not path expressions. That is, the Map
corresponds exactly
to a single ConfigObject
. The keys will not be parsed or
modified, and the values are wrapped in ConfigValue. To get nested
ConfigObject
, some of the values in the map would have to be more
maps.
See also ConfigFactory.parseMap(Map,String)
which interprets the
keys in the map as path expressions.
values
- map from keys to plain Java valuesoriginDescription
- description to use in ConfigOrigin
of created valuesConfigObject
valuepublic static fromIterable(java.lang.Iterable<? extends java.lang.Object> values, java.lang.String originDescription)
fromAnyRef(Object,String)
documentation for details.
This is a typesafe wrapper that only works on Iterable
and returns ConfigList
rather than ConfigValue
.values
- list of plain Java valuesoriginDescription
- description to use in ConfigOrigin
of created valuesConfigList
valuepublic static fromAnyRef(java.lang.Object object)
fromAnyRef(Object,String)
for details,
this one just uses a default origin description.object
- a plain Java valueConfigValue
public static fromMap(java.util.Map<java.lang.String,? extends java.lang.Object> values)
fromMap(Map,String)
for details, this one
just uses a default origin description.
See also ConfigFactory.parseMap(Map)
which interprets the keys in
the map as path expressions.
values
- map from keys to plain Java valuesConfigObject
public static fromIterable(java.lang.Iterable<? extends java.lang.Object> values)
fromIterable(Iterable, String)
for
details, this one just uses a default origin description.values
- list of plain Java valuesConfigList