Package com.typesafe.config

## Class ConfigValueFactory

- java.lang.Object
- - 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

All Methods Static Methods Concrete Methods
`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.

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

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` - map from keys to plain Java values
  `originDescription` - description to use in `ConfigOrigin` of created values
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` - list of plain Java values
  `originDescription` - description to use in `ConfigOrigin` of created values
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` - a plain Java value
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` - map from keys to plain Java 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` - list of plain Java values
Returns:
  a new `ConfigList`