Class ConfigValueFactory
ConfigValue
instances. See also ConfigFactory which has methods for parsing files
and certain in-memory data structures.-
Method Summary
Modifier and TypeMethodDescriptionstatic ConfigValuefromAnyRef(Object object) See the other overloadfromAnyRef(Object,String)for details, this one just uses a default origin description.static ConfigValuefromAnyRef(Object object, String originDescription) Creates aConfigValuefrom a plain Java boxed value, which may be aBoolean,Number,String,Map,Iterable, ornull.static ConfigListfromIterable(Iterable<? extends Object> values) See the other overload offromIterable(Iterable, String)for details, this one just uses a default origin description.static ConfigListfromIterable(Iterable<? extends Object> values, String originDescription) See thefromAnyRef(Object,String)documentation for details.static ConfigObjectSee the other overloadfromMap(Map,String)for details, this one just uses a default origin description.static ConfigObjectSee thefromAnyRef(Object,String)documentation for details.
-
Method Details
-
fromAnyRef
Creates aConfigValuefrom a plain Java boxed value, which may be aBoolean,Number,String,Map,Iterable, ornull. AMapmust be aMapfrom String to more values that can be supplied tofromAnyRef(). AnIterablemust iterate over more values that can be supplied tofromAnyRef(). AMapwill become aConfigObjectand anIterablewill become aConfigList. If theIterableis not an ordered collection, results could be strange, sinceConfigListis ordered.In a
Mappassed tofromAnyRef(), the map's keys are plain keys, not path expressions. So if yourMaphas 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
ConfigValueto this function, it will be returned unmodified. (TheoriginDescriptionwill 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 ConfigValueoriginDescription- name of origin file or brief description of what the value is- Returns:
- a new value
-
fromMap
See thefromAnyRef(Object,String)documentation for details. This is a typesafe wrapper that only works onMapand returnsConfigObjectrather thanConfigValue.If your
Maphas 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, theMapcorresponds exactly to a singleConfigObject. The keys will not be parsed or modified, and the values are wrapped in ConfigValue. To get nestedConfigObject, 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 valuesoriginDescription- description to use inConfigOriginof created values- Returns:
- a new
ConfigObjectvalue
-
fromIterable
See thefromAnyRef(Object,String)documentation for details. This is a typesafe wrapper that only works onIterableand returnsConfigListrather thanConfigValue.- Parameters:
values- list of plain Java valuesoriginDescription- description to use inConfigOriginof created values- Returns:
- a new
ConfigListvalue
-
fromAnyRef
See the other overloadfromAnyRef(Object,String)for details, this one just uses a default origin description.- Parameters:
object- a plain Java value- Returns:
- a new
ConfigValue
-
fromMap
See the other overloadfromMap(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
See the other overload offromIterable(Iterable, String)for details, this one just uses a default origin description.- Parameters:
values- list of plain Java values- Returns:
- a new
ConfigList
-