Class AbstractYAMLBasedConfiguration
java.lang.Object
org.apache.commons.configuration2.event.BaseEventSource
org.apache.commons.configuration2.AbstractConfiguration
org.apache.commons.configuration2.AbstractHierarchicalConfiguration<ImmutableNode>
org.apache.commons.configuration2.BaseHierarchicalConfiguration
org.apache.commons.configuration2.AbstractYAMLBasedConfiguration
- All Implemented Interfaces:
Cloneable,Configuration,EventSource,HierarchicalConfiguration<ImmutableNode>,ImmutableConfiguration,ImmutableHierarchicalConfiguration,SynchronizerSupport,InMemoryNodeModelSupport,NodeKeyResolver<ImmutableNode>,NodeModelSupport<ImmutableNode>
- Direct Known Subclasses:
JSONConfiguration
A base class for configuration implementations based on YAML structures.
This base class offers functionality related to YAML-like data structures based on maps. Such a map has strings as
keys and arbitrary objects as values. The class offers methods to transform such a map into a hierarchy of
ImmutableNode objects and vice versa.
- Since:
- 2.2
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.commons.configuration2.BaseHierarchicalConfiguration
BaseHierarchicalConfiguration.BuilderVisitor -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreates a new instance ofAbstractYAMLBasedConfiguration.protectedCreates a new instance ofAbstractYAMLBasedConfigurationas a copy of the specified configuration. -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidAdds a key value pair to a map, taking list structures into account.private static List<ImmutableNode> constructHierarchy(String key, Object elem) Creates a part of the hierarchical nodes structure of the resulting configuration.constructMap(ImmutableNode node) Constructs a YAML map, i.e.protected voidLoads this configuration from the content of the specified map.private static List<ImmutableNode> parseCollection(Collection<Object> col, String key) Parses a collection structure.private static List<ImmutableNode> Parses a map structure.(package private) static voidInternal helper method to wrap an exception in aConfigurationException.Methods inherited from class org.apache.commons.configuration2.BaseHierarchicalConfiguration
childConfigurationsAt, childConfigurationsAt, cloneNodeModel, configurationAt, configurationAt, configurationsAt, configurationsAt, createSubConfigurationForTrackedNode, getNodeModel, getSubConfigurationNodeSelector, getSubConfigurationParentModel, immutableChildConfigurationsAt, immutableConfigurationAt, immutableConfigurationAt, immutableConfigurationsAt, initSubConfigurationForThisParent, interpolatedConfiguration, subnodeConfigurationChanged, subsetMethods inherited from class org.apache.commons.configuration2.AbstractHierarchicalConfiguration
addNodes, addNodesInternal, addPropertyDirect, addPropertyInternal, clearInternal, clearPropertyDirect, clearTree, clearTreeInternal, clone, containsKeyInternal, containsValueInternal, fetchNodeList, getExpressionEngine, getKeysInternal, getKeysInternal, getMaxIndex, getMaxIndexInternal, getModel, getPropertyInternal, getRootElementName, getRootElementNameInternal, isEmptyInternal, nodeDefined, nodeKey, resolveAddKey, resolveKey, resolveNodeKey, resolveUpdateKey, setExpressionEngine, setPropertyInternal, sizeInternal, toStringMethods inherited from class org.apache.commons.configuration2.AbstractConfiguration
addErrorLogListener, addProperty, append, beginRead, beginWrite, clear, clearProperty, cloneInterpolator, contains, containsKey, containsValue, copy, endRead, endWrite, get, get, getArray, getArray, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getCollection, getCollection, getConfigurationDecoder, getConversionHandler, getDouble, getDouble, getDouble, getDuration, getDuration, getEncodedString, getEncodedString, getFloat, getFloat, getFloat, getInt, getInt, getInteger, getInterpolator, getKeys, getKeys, getKeys, getKeysInternal, getList, getList, getList, getList, getListDelimiterHandler, getLogger, getLong, getLong, getLong, getProperties, getProperties, getProperty, getShort, getShort, getShort, getString, getString, getStringArray, getSynchronizer, immutableSubset, initLogger, installInterpolator, interpolate, interpolate, isEmpty, isScalarValue, isThrowExceptionOnMissing, lock, setConfigurationDecoder, setConversionHandler, setDefaultLookups, setInterpolator, setListDelimiterHandler, setLogger, setParentInterpolator, setPrefixLookups, setProperty, setSynchronizer, setThrowExceptionOnMissing, size, unlockMethods inherited from class org.apache.commons.configuration2.event.BaseEventSource
addEventListener, clearErrorListeners, clearEventListeners, copyEventListeners, createErrorEvent, createEvent, fireError, fireEvent, getEventListenerRegistrations, getEventListeners, isDetailEvents, removeEventListener, setDetailEventsMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.commons.configuration2.Configuration
addProperty, clear, clearProperty, getInterpolator, installInterpolator, setInterpolator, setPropertyMethods inherited from interface org.apache.commons.configuration2.ImmutableConfiguration
containsKey, containsValue, get, get, getArray, getArray, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getCollection, getCollection, getDouble, getDouble, getDouble, getDuration, getDuration, getEncodedString, getEncodedString, getEnum, getEnum, getFloat, getFloat, getFloat, getInt, getInt, getInteger, getKeys, getKeys, getKeys, getList, getList, getList, getList, getLong, getLong, getLong, getProperties, getProperty, getShort, getShort, getShort, getString, getString, getStringArray, immutableSubset, isEmpty, sizeMethods inherited from interface org.apache.commons.configuration2.sync.SynchronizerSupport
getSynchronizer, lock, setSynchronizer, unlock
-
Constructor Details
-
AbstractYAMLBasedConfiguration
protected AbstractYAMLBasedConfiguration()Creates a new instance ofAbstractYAMLBasedConfiguration. -
AbstractYAMLBasedConfiguration
Creates a new instance ofAbstractYAMLBasedConfigurationas a copy of the specified configuration.- Parameters:
c- the configuration to be copied
-
-
Method Details
-
addEntry
Adds a key value pair to a map, taking list structures into account. If a key is added which is already present in the map, this method ensures that a list is created.- Parameters:
map- the mapkey- the keyvalue- the value
-
constructHierarchy
Creates a part of the hierarchical nodes structure of the resulting configuration. The passed in element is converted into one or multiple configuration nodes. (If list structures are involved, multiple nodes are returned.)- Parameters:
key- the key of the new node(s)elem- the element to be processed- Returns:
- a list with configuration nodes representing the element
-
parseCollection
Parses a collection structure. The elements of the collection are processed recursively.- Parameters:
col- the collection to be processedkey- the key under which this collection is to be stored- Returns:
- a node representing this collection
-
parseMap
Parses a map structure. The single keys of the map are processed recursively.- Parameters:
map- the map to be processedkey- the key under which this map is to be stored- Returns:
- a node representing this map
-
rethrowException
Internal helper method to wrap an exception in aConfigurationException.- Parameters:
e- the exception to be wrapped- Throws:
ConfigurationException- the resulting exception
-
constructMap
Constructs a YAML map, i.e. String -> Object from a given configuration node.- Parameters:
node- The configuration node to create a map from.- Returns:
- A Map that contains the configuration node information.
-
load
Loads this configuration from the content of the specified map. The data in the map is transformed into a hierarchy ofImmutableNodeobjects.- Parameters:
map- the map to be processed
-