Class PatternSubtreeConfigurationWrapper
- All Implemented Interfaces:
Cloneable,Configuration,EventSource,FileBasedConfiguration,HierarchicalConfiguration<ImmutableNode>,ImmutableConfiguration,ImmutableHierarchicalConfiguration,FileBased,SynchronizerSupport,InMemoryNodeModelSupport,NodeKeyResolver<ImmutableNode>,NodeModelSupport<ImmutableNode>
- Since:
- 1.6
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.commons.configuration2.BaseHierarchicalConfiguration
BaseHierarchicalConfiguration.BuilderVisitor -
Constructor Summary
ConstructorsConstructorDescriptionConstructor -
Method Summary
Modifier and TypeMethodDescription<T extends Event>
voidaddEventListener(EventType<T> eventType, EventListener<? super T> listener) Adds an event listener for the specified event type.protected voidaddNodesInternal(String key, Collection<? extends ImmutableNode> nodes) Actually adds a collection of new nodes to this configuration.protected voidaddPropertyInternal(String key, Object value) Adds the property with the specified key.voidRemoves all registered error listeners.voidRemoves all registered event listeners.protected voidClears this configuration.protected voidRemoves the property with the given key.protected ObjectclearTreeInternal(String key) Actually clears the tree of elements referenced by the given key.configurationAt(String key) Returns a hierarchical subnode configuration for the node specified by the given key.configurationAt(String key, boolean supportUpdates) Returns a hierarchical sub configuration object that wraps the configuration node specified by the given key.configurationsAt(String key) Returns a list of sub configurations for all configuration nodes selected by the given key.protected booleanChecks if the specified key is contained in this configuration.protected booleancontainsValueInternal(Object value) Tests whether this configuration contains one or more matches to this value.getBigDecimal(String key) Gets aBigDecimalassociated with the given configuration key.getBigDecimal(String key, BigDecimal defaultValue) Gets aBigDecimalassociated with the given configuration key.getBigInteger(String key) Gets aBigIntegerassociated with the given configuration key.getBigInteger(String key, BigInteger defaultValue) Gets aBigIntegerassociated with the given configuration key.booleangetBoolean(String key) Gets a boolean associated with the given configuration key.booleangetBoolean(String key, boolean defaultValue) Gets a boolean associated with the given configuration key.getBoolean(String key, Boolean defaultValue) Obtains the value of the specified key and tries to convert it into aBooleanobject.byteGets a byte associated with the given configuration key.byteGets a byte associated with the given configuration key.Gets aByteassociated with the given configuration key.doubleGets a double associated with the given configuration key.doubleGets a double associated with the given configuration key.Gets aDoubleassociated with the given configuration key.<T extends Event>
Collection<EventListener<? super T>> getEventListeners(EventType<T> eventType) Gets a collection with all event listeners of the specified event type that are currently registered at this object.Gets the expression engine used by this configuration.floatGets a float associated with the given configuration key.floatGets a float associated with the given configuration key.Gets aFloatassociated with the given configuration key.intGets a int associated with the given configuration key.intGets a int associated with the given configuration key.getInteger(String key, Integer defaultValue) Gets anIntegerassociated with the given configuration key.Gets an iterator with all keys defined in this configuration.getKeysInternal(String prefix) Gets an iterator with all keys defined in this configuration that start with the given prefix.Gets a List of the values associated with the given configuration key.Gets a List of strings associated with the given configuration key.longGets a long associated with the given configuration key.longGets a long associated with the given configuration key.Gets aLongassociated with the given configuration key.protected intActually retrieves the maximum defined index for the given key.getProperties(String key) Gets a list of properties associated with the given configuration key.protected ObjectFetches the specified property.shortGets a short associated with the given configuration key.shortGets a short associated with the given configuration key.Gets aShortassociated with the given configuration key.Gets a string associated with the given configuration key.Gets a string associated with the given configuration key.String[]getStringArray(String key) Gets an array of strings associated with the given configuration key.Returns a configuration with the same content as this configuration, but with all variables replaced by their actual values.protected booleanChecks if this configuration is empty.voidReads the content of this object from the given reader.<T extends Event>
booleanremoveEventListener(EventType<T> eventType, EventListener<? super T> listener) Removes the event listener registration for the given event type and listener.voidsetExpressionEngine(ExpressionEngine expressionEngine) Sets the expression engine to be used by this configuration.protected voidsetPropertyInternal(String key, Object value) Sets the value of the specified property.Creates a newConfigurationobject containing all keys that start with the specified prefix.voidWrites the content of this object to the given writer.Methods inherited from class org.apache.commons.configuration2.BaseHierarchicalConfiguration
childConfigurationsAt, childConfigurationsAt, cloneNodeModel, configurationsAt, createSubConfigurationForTrackedNode, getNodeModel, getSubConfigurationNodeSelector, getSubConfigurationParentModel, immutableChildConfigurationsAt, immutableConfigurationAt, immutableConfigurationAt, immutableConfigurationsAt, initSubConfigurationForThisParent, subnodeConfigurationChangedMethods inherited from class org.apache.commons.configuration2.AbstractHierarchicalConfiguration
addNodes, addPropertyDirect, clearTree, clone, fetchNodeList, getKeysInternal, getMaxIndex, getModel, getRootElementName, getRootElementNameInternal, nodeDefined, nodeKey, resolveAddKey, resolveKey, resolveNodeKey, resolveUpdateKey, 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, getCollection, getCollection, getConfigurationDecoder, getConversionHandler, getDuration, getDuration, getEncodedString, getEncodedString, getInterpolator, getKeys, getKeys, getKeys, getList, getList, getListDelimiterHandler, getLogger, getProperties, getProperty, 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
copyEventListeners, createErrorEvent, createEvent, fireError, fireEvent, getEventListenerRegistrations, isDetailEvents, 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, getCollection, getCollection, getDuration, getDuration, getEncodedString, getEncodedString, getEnum, getEnum, getKeys, getKeys, getKeys, getList, getList, getProperty, immutableSubset, isEmpty, sizeMethods inherited from interface org.apache.commons.configuration2.sync.SynchronizerSupport
getSynchronizer, lock, setSynchronizer, unlock
-
Constructor Details
-
PatternSubtreeConfigurationWrapper
public PatternSubtreeConfigurationWrapper(HierarchicalConfiguration<ImmutableNode> config, String path) Constructor- Parameters:
config- The Configuration to be wrapped.path- The base path pattern.
-
-
Method Details
-
addEventListener
public <T extends Event> void addEventListener(EventType<T> eventType, EventListener<? super T> listener) Description copied from interface:EventSourceAdds an event listener for the specified event type. This listener is notified about events of this type and all its sub types.- Specified by:
addEventListenerin interfaceEventSource- Overrides:
addEventListenerin classBaseEventSource- Type Parameters:
T- the type of events processed by this listener- Parameters:
eventType- the event type (must not be null)listener- the listener to be registered (must not be null)
-
addNodesInternal
Description copied from class:AbstractHierarchicalConfigurationActually adds a collection of new nodes to this configuration. This method is called byaddNodes(). It can be overridden by subclasses that need to adapt this operation.- Overrides:
addNodesInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
key- the key where the nodes are to be added; can be null, then they are added to the root nodenodes- a collection with theNodeobjects to be added
-
addPropertyInternal
Description copied from class:AbstractHierarchicalConfigurationAdds the property with the specified key. This task will be delegated to the associatedExpressionEngine, so the passed in key must match the requirements of this implementation.- Overrides:
addPropertyInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
key- the key of the new propertyvalue- the value of the new property
-
clearErrorListeners
Description copied from class:BaseEventSourceRemoves all registered error listeners.- Overrides:
clearErrorListenersin classBaseEventSource
-
clearEventListeners
Description copied from class:BaseEventSourceRemoves all registered event listeners.- Overrides:
clearEventListenersin classBaseEventSource
-
clearInternal
Description copied from class:AbstractHierarchicalConfigurationClears this configuration. This is a more efficient implementation than the one inherited from the base class. It delegates to the node model.- Overrides:
clearInternalin classAbstractHierarchicalConfiguration<ImmutableNode>
-
clearPropertyDirect
Description copied from class:AbstractHierarchicalConfigurationRemoves the property with the given key. Properties with names that start with the given key (i.e. properties below the specified key in the hierarchy) won't be affected. This implementation delegates to the node+ model.- Overrides:
clearPropertyDirectin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
key- the key of the property to be removed
-
clearTreeInternal
Description copied from class:AbstractHierarchicalConfigurationActually clears the tree of elements referenced by the given key. This method is called byclearTree(). Subclasses that need to adapt this operation can override this method. This base implementation delegates to the node model.- Overrides:
clearTreeInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
key- the key of the property to be removed- Returns:
- an object with information about the nodes that have been removed (this is needed for firing a meaningful event of type CLEAR_TREE)
-
configurationAt
Description copied from class:BaseHierarchicalConfigurationReturns a hierarchical subnode configuration for the node specified by the given key. This is a short form forconfigurationAt(key, <strong>false</strong>). This is a short form forconfigurationAt(key, <strong>false</strong>).- Specified by:
configurationAtin interfaceHierarchicalConfiguration<ImmutableNode>- Overrides:
configurationAtin classBaseHierarchicalConfiguration- Parameters:
key- the key that selects the sub tree- Returns:
- a hierarchical configuration that contains this sub tree
- See Also:
-
configurationAt
Description copied from class:BaseHierarchicalConfigurationReturns a hierarchical sub configuration object that wraps the configuration node specified by the given key. This method provides an easy means of accessing sub trees of a hierarchical configuration. In the returned configuration the sub tree can directly be accessed, it becomes the root node of this configuration. Because of this the passed in key must select exactly one configuration node; otherwise an
IllegalArgumentExceptionwill be thrown.The difference between this method and the
Configuration.subset(String)method is thatsubset()supports arbitrary subsets of configuration nodes whileconfigurationAt()only returns a single sub tree. Please refer to the documentation of theSubnodeConfigurationclass to obtain further information about sub configurations and when they should be used.With the
The result of this implementation depends on thesupportUpdateflag the behavior of the returned sub configuration regarding updates of its parent configuration can be determined. If set to false, the configurations return on independent nodes structures. So changes made on one configuration cannot be seen by the other one. A value of true in contrast creates a direct connection between both configurations - they are then using the same underlying data structures as much as possible. There are however changes which break this connection; for instance, if the sub tree the sub configuration belongs to is completely removed from the parent configuration. If such a change happens, the sub configuration becomes detached from its parent. It can still be used in a normal way, but changes on it are not reflected by the parent and vice verse. Also, it is not possible to reattach a once detached sub configuration.supportUpdatesflag: If it is false, a plainBaseHierarchicalConfigurationis returned using the selected node as root node. This is suitable for read-only access to properties. Because the configuration returned in this case is not connected to the parent configuration, updates on properties made by one configuration are not reflected by the other one. A value of true for this parameter causes a tracked node to be created, and result is aSubnodeConfigurationbased on this tracked node. This configuration is really connected to its parent, so that updated properties are visible on both.- Specified by:
configurationAtin interfaceHierarchicalConfiguration<ImmutableNode>- Overrides:
configurationAtin classBaseHierarchicalConfiguration- Parameters:
key- the key that selects the sub treesupportUpdates- a flag whether the returned sub configuration should be directly connected to its parent- Returns:
- a hierarchical configuration that contains this sub tree
- See Also:
-
configurationsAt
Description copied from class:BaseHierarchicalConfigurationReturns a list of sub configurations for all configuration nodes selected by the given key. This method will evaluate the passed in key (using the currentExpressionEngine) and then create a sub configuration for each returned node (likeHierarchicalConfiguration.configurationAt(String)). This is especially useful when dealing with list-like structures. As an example consider the configuration that contains data about database tables and their fields. If you need access to all fields of a certain table, you can simply doList fields = config.configurationsAt("tables.table(0).fields.field"); for(Iterator it = fields.iterator(); it.hasNext();) { BaseHierarchicalConfiguration sub = (BaseHierarchicalConfiguration) it.next(); // now the children and attributes of the field node can be // directly accessed String fieldName = sub.getString("name"); String fieldType = sub.getString("type"); ...The configuration objects returned are not connected to the parent configuration. This implementation creates sub configurations in the same way as described forBaseHierarchicalConfiguration.configurationAt(String).- Specified by:
configurationsAtin interfaceHierarchicalConfiguration<ImmutableNode>- Overrides:
configurationsAtin classBaseHierarchicalConfiguration- Parameters:
key- the key for selecting the desired nodes- Returns:
- a list with hierarchical configuration objects; each configuration represents one of the nodes selected by the passed in key
-
containsKeyInternal
Description copied from class:AbstractHierarchicalConfigurationChecks if the specified key is contained in this configuration. Note that for this configuration the term "contained" means that the key has an associated value. If there is a node for this key that has no value but children (either defined or undefined), this method will still return false .- Overrides:
containsKeyInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
key- the key to be checked- Returns:
- a flag if this key is contained in this configuration
-
containsValueInternal
Tests whether this configuration contains one or more matches to this value. This operation stops at first match but may be more expensive than the containsKey method.- Overrides:
containsValueInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
value- the value in question- Returns:
trueif and only if some key maps to thevalueargument in this configuration as determined by theequalsmethod;falseotherwise.- Since:
- 2.11.0
-
getBigDecimal
Description copied from class:AbstractConfigurationGets aBigDecimalassociated with the given configuration key.- Specified by:
getBigDecimalin interfaceImmutableConfiguration- Overrides:
getBigDecimalin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated BigDecimal if key is found and has valid format
- See Also:
-
getBigDecimal
Description copied from interface:ImmutableConfigurationGets aBigDecimalassociated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getBigDecimalin interfaceImmutableConfiguration- Overrides:
getBigDecimalin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated BigDecimal if key is found and has valid format, default value otherwise.
-
getBigInteger
Description copied from class:AbstractConfigurationGets aBigIntegerassociated with the given configuration key.- Specified by:
getBigIntegerin interfaceImmutableConfiguration- Overrides:
getBigIntegerin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated BigInteger if key is found and has valid format
- See Also:
-
getBigInteger
Description copied from interface:ImmutableConfigurationGets aBigIntegerassociated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getBigIntegerin interfaceImmutableConfiguration- Overrides:
getBigIntegerin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated BigInteger if key is found and has valid format, default value otherwise.
-
getBoolean
Description copied from interface:ImmutableConfigurationGets a boolean associated with the given configuration key.- Specified by:
getBooleanin interfaceImmutableConfiguration- Overrides:
getBooleanin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated boolean.
-
getBoolean
Description copied from interface:ImmutableConfigurationGets a boolean associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getBooleanin interfaceImmutableConfiguration- Overrides:
getBooleanin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated boolean.
-
getBoolean
Description copied from class:AbstractConfigurationObtains the value of the specified key and tries to convert it into aBooleanobject. If the property has no value, the passed in default value will be used.- Specified by:
getBooleanin interfaceImmutableConfiguration- Overrides:
getBooleanin classAbstractConfiguration- Parameters:
key- the key of the propertydefaultValue- the default value- Returns:
- the value of this key converted to a
Boolean
-
getByte
Description copied from interface:ImmutableConfigurationGets a byte associated with the given configuration key.- Specified by:
getBytein interfaceImmutableConfiguration- Overrides:
getBytein classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated byte.
-
getByte
Description copied from interface:ImmutableConfigurationGets a byte associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getBytein interfaceImmutableConfiguration- Overrides:
getBytein classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated byte.
-
getByte
Description copied from interface:ImmutableConfigurationGets aByteassociated with the given configuration key.- Specified by:
getBytein interfaceImmutableConfiguration- Overrides:
getBytein classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated byte if key is found and has valid format, default value otherwise.
-
getDouble
Description copied from interface:ImmutableConfigurationGets a double associated with the given configuration key.- Specified by:
getDoublein interfaceImmutableConfiguration- Overrides:
getDoublein classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated double.
-
getDouble
Description copied from interface:ImmutableConfigurationGets a double associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getDoublein interfaceImmutableConfiguration- Overrides:
getDoublein classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated double.
-
getDouble
Description copied from interface:ImmutableConfigurationGets aDoubleassociated with the given configuration key.- Specified by:
getDoublein interfaceImmutableConfiguration- Overrides:
getDoublein classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated double if key is found and has valid format, default value otherwise.
-
getEventListeners
public <T extends Event> Collection<EventListener<? super T>> getEventListeners(EventType<T> eventType) Description copied from class:BaseEventSourceGets a collection with all event listeners of the specified event type that are currently registered at this object.- Overrides:
getEventListenersin classBaseEventSource- Type Parameters:
T- the event type- Parameters:
eventType- the event type object- Returns:
- a collection with the event listeners of the specified event type (this collection is a snapshot of the currently registered listeners; it cannot be manipulated)
-
getExpressionEngine
Description copied from class:AbstractHierarchicalConfigurationGets the expression engine used by this configuration. This method will never return null; if no specific expression engine was set, the default expression engine will be returned.- Specified by:
getExpressionEnginein interfaceImmutableHierarchicalConfiguration- Overrides:
getExpressionEnginein classAbstractHierarchicalConfiguration<ImmutableNode>- Returns:
- the current expression engine
-
getFloat
Description copied from interface:ImmutableConfigurationGets a float associated with the given configuration key.- Specified by:
getFloatin interfaceImmutableConfiguration- Overrides:
getFloatin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated float.
-
getFloat
Description copied from interface:ImmutableConfigurationGets a float associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getFloatin interfaceImmutableConfiguration- Overrides:
getFloatin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated float.
-
getFloat
Description copied from interface:ImmutableConfigurationGets aFloatassociated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getFloatin interfaceImmutableConfiguration- Overrides:
getFloatin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated float if key is found and has valid format, default value otherwise.
-
getInt
Description copied from interface:ImmutableConfigurationGets a int associated with the given configuration key.- Specified by:
getIntin interfaceImmutableConfiguration- Overrides:
getIntin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated int.
-
getInt
Description copied from interface:ImmutableConfigurationGets a int associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getIntin interfaceImmutableConfiguration- Overrides:
getIntin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated int.
-
getInteger
Description copied from interface:ImmutableConfigurationGets anIntegerassociated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getIntegerin interfaceImmutableConfiguration- Overrides:
getIntegerin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated int if key is found and has valid format, default value otherwise.
-
getKeysInternal
Description copied from class:AbstractHierarchicalConfigurationGets an iterator with all keys defined in this configuration. Note that the keys returned by this method will not contain any indices. This means that some structure will be lost.- Overrides:
getKeysInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Returns:
- an iterator with the defined keys in this configuration
-
getKeysInternal
Description copied from class:AbstractHierarchicalConfigurationGets an iterator with all keys defined in this configuration that start with the given prefix. The returned keys will not contain any indices. This implementation tries to locate a node whose key is the same as the passed in prefix. Then the subtree of this node is traversed, and the keys of all nodes encountered (including attributes) are added to the result set.- Overrides:
getKeysInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
prefix- the prefix of the keys to start with- Returns:
- an iterator with the found keys
-
getList
Description copied from class:AbstractConfigurationGets a List of the values associated with the given configuration key. This method is different from the genericgetList()method in that it does not recursively obtain all values stored for the specified property key. Rather, only the first level of the hierarchy is processed. So the resulting list may contain complex objects like arrays or collections - depending on the storage structure used by a concrete subclass. If the key doesn't map to an existing object, an empty List is returned.- Specified by:
getListin interfaceImmutableConfiguration- Overrides:
getListin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated List.
- See Also:
-
getList
Description copied from interface:ImmutableConfigurationGets a List of strings associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getListin interfaceImmutableConfiguration- Overrides:
getListin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated List of strings.
- See Also:
-
getLong
Description copied from interface:ImmutableConfigurationGets a long associated with the given configuration key.- Specified by:
getLongin interfaceImmutableConfiguration- Overrides:
getLongin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated long.
-
getLong
Description copied from interface:ImmutableConfigurationGets a long associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getLongin interfaceImmutableConfiguration- Overrides:
getLongin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated long.
-
getLong
Description copied from interface:ImmutableConfigurationGets aLongassociated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getLongin interfaceImmutableConfiguration- Overrides:
getLongin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated long if key is found and has valid format, default value otherwise.
-
getMaxIndexInternal
Description copied from class:AbstractHierarchicalConfigurationActually retrieves the maximum defined index for the given key. This method is called bygetMaxIndex(). Subclasses that need to adapt this operation have to override this method.- Overrides:
getMaxIndexInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
key- the key to be checked- Returns:
- the maximum defined index for this key
-
getProperties
Description copied from interface:ImmutableConfigurationGets a list of properties associated with the given configuration key. This method expects the given key to have an arbitrary number of String values, each of which is of the formkey=value. These strings are split at the equals sign, and the key parts will become keys of the returnedPropertiesobject, the value parts become values.- Specified by:
getPropertiesin interfaceImmutableConfiguration- Overrides:
getPropertiesin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated properties if key is found.
-
getPropertyInternal
Description copied from class:AbstractHierarchicalConfigurationFetches the specified property. This task is delegated to the associated expression engine.- Overrides:
getPropertyInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
key- the key to be looked up- Returns:
- the found value
-
getShort
Description copied from interface:ImmutableConfigurationGets a short associated with the given configuration key.- Specified by:
getShortin interfaceImmutableConfiguration- Overrides:
getShortin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated short.
-
getShort
Description copied from interface:ImmutableConfigurationGets a short associated with the given configuration key.- Specified by:
getShortin interfaceImmutableConfiguration- Overrides:
getShortin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated short.
-
getShort
Description copied from interface:ImmutableConfigurationGets aShortassociated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getShortin interfaceImmutableConfiguration- Overrides:
getShortin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated short if key is found and has valid format, default value otherwise.
-
getString
Description copied from class:AbstractConfigurationGets a string associated with the given configuration key.- Specified by:
getStringin interfaceImmutableConfiguration- Overrides:
getStringin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated string.
- See Also:
-
getString
Description copied from interface:ImmutableConfigurationGets a string associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.- Specified by:
getStringin interfaceImmutableConfiguration- Overrides:
getStringin classAbstractConfiguration- Parameters:
key- The configuration key.defaultValue- The default value.- Returns:
- The associated string if key is found and has valid format, default value otherwise.
-
getStringArray
Description copied from class:AbstractConfigurationGets an array of strings associated with the given configuration key. If the key doesn't map to an existing object, an empty array is returned. When a property is added to a configuration, it is checked whether it contains multiple values. This is obvious if the added object is a list or an array. For strings the associationListDelimiterHandleris consulted to find out whether the string can be split into multiple values.- Specified by:
getStringArrayin interfaceImmutableConfiguration- Overrides:
getStringArrayin classAbstractConfiguration- Parameters:
key- The configuration key.- Returns:
- The associated string array if key is found.
- See Also:
-
interpolatedConfiguration
Description copied from class:BaseHierarchicalConfigurationReturns a configuration with the same content as this configuration, but with all variables replaced by their actual values. This implementation is specific for hierarchical configurations. It clones the current configuration and runs a specialized visitor on the clone, which performs interpolation on the single configuration nodes.- Overrides:
interpolatedConfigurationin classBaseHierarchicalConfiguration- Returns:
- a configuration with all variables interpolated
-
isEmptyInternal
Description copied from class:AbstractHierarchicalConfigurationChecks if this configuration is empty. Empty means that there are no keys with any values, though there can be some (empty) nodes.- Overrides:
isEmptyInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Returns:
- a flag if this configuration is empty
-
read
Description copied from interface:FileBasedReads the content of this object from the given reader. Client code should not call this method directly, but use aFileHandlerfor reading data.- Specified by:
readin interfaceFileBased- Parameters:
reader- the reader- Throws:
ConfigurationException- if a non-I/O related problem occurs, for example the data read does not have the expected formatIOException- if an I/O error occurs.
-
removeEventListener
public <T extends Event> boolean removeEventListener(EventType<T> eventType, EventListener<? super T> listener) Description copied from interface:EventSourceRemoves the event listener registration for the given event type and listener. An event listener instance may be registered multiple times for different event types. Therefore, when removing a listener the event type of the registration in question has to be specified. The return value indicates whether a registration was removed. A value of false means that no such combination of event type and listener was found.- Specified by:
removeEventListenerin interfaceEventSource- Overrides:
removeEventListenerin classBaseEventSource- Type Parameters:
T- the type of events processed by this listener- Parameters:
eventType- the event typelistener- the event listener to be removed- Returns:
- a flag whether a listener registration was removed
-
setExpressionEngine
Description copied from class:AbstractHierarchicalConfigurationSets the expression engine to be used by this configuration. All property keys this configuration has to deal with will be interpreted by this engine.- Specified by:
setExpressionEnginein interfaceHierarchicalConfiguration<ImmutableNode>- Overrides:
setExpressionEnginein classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
expressionEngine- the new expression engine; can be null, then the default expression engine will be used
-
setPropertyInternal
Description copied from class:AbstractHierarchicalConfigurationSets the value of the specified property.- Overrides:
setPropertyInternalin classAbstractHierarchicalConfiguration<ImmutableNode>- Parameters:
key- the key of the property to setvalue- the new value of this property
-
subset
Description copied from class:BaseHierarchicalConfigurationCreates a newConfigurationobject containing all keys that start with the specified prefix. This implementation will return aBaseHierarchicalConfigurationobject so that the structure of the keys will be saved. The nodes selected by the prefix (it is possible that multiple nodes are selected) are mapped to the root node of the returned configuration, i.e. their children and attributes will become children and attributes of the new root node. However, a value of the root node is only set if exactly one of the selected nodes contain a value (if multiple nodes have a value, there is simply no way to decide how these values are merged together). Note that the returnedConfigurationobject is not connected to its source configuration: updates on the source configuration are not reflected in the subset and vice versa. The returned configuration uses the sameSynchronizeras this configuration.- Specified by:
subsetin interfaceConfiguration- Overrides:
subsetin classBaseHierarchicalConfiguration- Parameters:
prefix- the prefix of the keys for the subset- Returns:
- a new configuration object representing the selected subset
- See Also:
-
write
Description copied from interface:FileBasedWrites the content of this object to the given writer. Client code should not call this method directly, but use aFileHandlerfor writing data.- Specified by:
writein interfaceFileBased- Parameters:
writer- the writer- Throws:
ConfigurationException- if a non-I/O related problem occurs, for example the data read does not have the expected formatIOException- if an I/O error occurs.
-