Package groovy.util
Class ConfigObject
java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.util.ConfigObject
- All Implemented Interfaces:
GroovyObject
,Writable
,Cloneable
,Map
A ConfigObject at a simple level is a Map that creates configuration entries (other ConfigObjects) when referencing them.
This means that navigating to foo.bar.stuff will not return null but nested ConfigObjects which are of course empty maps
The Groovy truth can be used to check for the existence of "real" entries.
- Since:
- 1.5
- Author:
- Graeme Rocher, Guillaume Laforge (rewrite in Java related to security constraints on Google App Engine)
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
clone()
Returns a shallow copy of this ConfigObject, keys and configuration entries are not cloned.boolean
containsKey
(Object key) boolean
containsValue
(Object value) entrySet()
flatten()
A ConfigObject is a tree structure consisting of nested maps.Flattens this ConfigObject populating the results into the target MapgetProperty
(String name) Overrides the default getProperty implementation to create nested ConfigObject instances on demand for non-existent keysboolean
isEmpty()
Checks if a config option is set.keySet()
merge
(ConfigObject other) Merges the given map with this ConfigObject overriding any matching configuration entries in this ConfigObjectvoid
void
setConfigFile
(URL configFile) int
size()
Converts this ConfigObject into a the java.util.Properties format, flattening the tree structure beforehandtoProperties
(String prefix) Converts this ConfigObject ino the java.util.Properties format, flatten the tree and prefixing all entries with the given prefixtoString()
values()
Writes this config object into a String serialized representation which can later be parsed back using the parse() methodMethods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, invokeMethod, setMetaClass, setProperty
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
ConfigObject
-
ConfigObject
public ConfigObject()
-
-
Method Details
-
getConfigFile
-
setConfigFile
-
writeTo
Writes this config object into a String serialized representation which can later be parsed back using the parse() method- Specified by:
writeTo
in interfaceWritable
- Parameters:
outArg
- the Writer to which this Writable should output its data.- Returns:
- the Writer that was passed
- Throws:
IOException
- if an error occurred while outputting data to the writer- See Also:
-
getProperty
Overrides the default getProperty implementation to create nested ConfigObject instances on demand for non-existent keys- Specified by:
getProperty
in interfaceGroovyObject
- Overrides:
getProperty
in classGroovyObjectSupport
- Parameters:
name
- the name of the property of interest- Returns:
- the given property
-
flatten
A ConfigObject is a tree structure consisting of nested maps. This flattens the maps into a single level structure like a properties file -
flatten
Flattens this ConfigObject populating the results into the target Map- See Also:
-
merge
Merges the given map with this ConfigObject overriding any matching configuration entries in this ConfigObject- Parameters:
other
- The ConfigObject to merge with- Returns:
- The result of the merge
-
toProperties
Converts this ConfigObject into a the java.util.Properties format, flattening the tree structure beforehand- Returns:
- A java.util.Properties instance
-
toProperties
Converts this ConfigObject ino the java.util.Properties format, flatten the tree and prefixing all entries with the given prefix- Parameters:
prefix
- The prefix to append before property entries- Returns:
- A java.util.Properties instance
-
size
public int size() -
isEmpty
public boolean isEmpty() -
containsKey
- Specified by:
containsKey
in interfaceMap
-
containsValue
- Specified by:
containsValue
in interfaceMap
-
get
-
put
-
remove
-
putAll
-
clear
public void clear() -
keySet
-
values
-
entrySet
-
clone
Returns a shallow copy of this ConfigObject, keys and configuration entries are not cloned. -
isSet
Checks if a config option is set. Example usage:def config = new ConfigSlurper().parse("foo { password='' }") assert config.foo.isSet('password') assert config.foo.isSet('username') == false
The check works only for options one block below the current block. E.g.config.isSet('foo.password')
will always return false.- Parameters:
option
- The name of the option- Returns:
true
if the option is setfalse
otherwise- Since:
- 2.3.0
-
prettyPrint
-
toString
-