com.typesafe.config
Class ConfigValueFactory

java.lang.Object
  extended by com.typesafe.config.ConfigValueFactory

public final class ConfigValueFactory
extends java.lang.Object

This class holds some static factory methods for building ConfigValue instances. See also ConfigFactory which has methods for parsing files and certain in-memory data structures.


Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

fromAnyRef

public 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. 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.

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).

Parameters:
object - object to convert to ConfigValue
originDescription - name of origin file or brief description of what the value is
Returns:
a new value

fromMap

public 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. 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.

Parameters:
values -
originDescription -
Returns:
a new ConfigObject value

fromIterable

public static ConfigList fromIterable(java.lang.Iterable<? extends java.lang.Object> values,
                                      java.lang.String originDescription)
See the fromAnyRef(Object,String) documentation for details. This is a typesafe wrapper that only works on Iterable and returns ConfigList rather than ConfigValue.

Parameters:
values -
originDescription -
Returns:
a new ConfigList value

fromAnyRef

public static ConfigValue fromAnyRef(java.lang.Object object)
See the other overload fromAnyRef(Object,String) for details, this one just uses a default origin description.

Parameters:
object -
Returns:
a new ConfigValue

fromMap

public 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.

See also ConfigFactory.parseMap(Map) which interprets the keys in the map as path expressions.

Parameters:
values -
Returns:
a new ConfigObject

fromIterable

public 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.

Parameters:
values -
Returns:
a new ConfigList