Class BaseConfiguration
- java.lang.Object
-
- org.apache.commons.configuration2.event.BaseEventSource
-
- org.apache.commons.configuration2.AbstractConfiguration
-
- org.apache.commons.configuration2.BaseConfiguration
-
- All Implemented Interfaces:
java.lang.Cloneable
,Configuration
,EventSource
,ImmutableConfiguration
,SynchronizerSupport
- Direct Known Subclasses:
PropertiesConfiguration
,XMLPropertiesConfiguration
public class BaseConfiguration extends AbstractConfiguration implements java.lang.Cloneable
Basic configuration class. Stores the configuration data but does not provide any load or save functions. If you want to load your Configuration from a file use PropertiesConfiguration or XmlConfiguration. This class extends normal Java properties by adding the possibility to use the same key many times concatenating the value strings instead of overwriting them.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.lang.Object>
store
Stores the configuration key-value pairs
-
Constructor Summary
Constructors Constructor Description BaseConfiguration()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addPropertyDirect(java.lang.String key, java.lang.Object value)
Adds a key/value pair to the map.protected void
clearInternal()
Clears the whole configuration.protected void
clearPropertyDirect(java.lang.String key)
Clear a property in the configuration.java.lang.Object
clone()
Creates a copy of this object.private void
cloneStore(BaseConfiguration copy)
Clones the internal map with the data of this configuration.protected boolean
containsKeyInternal(java.lang.String key)
check if the configuration contains the keyprotected boolean
containsValueInternal(java.lang.Object value)
Tests whether this configuration contains one or more matches to this value.protected java.util.Iterator<java.lang.String>
getKeysInternal()
Gets the list of the keys contained in the configuration repository.protected java.lang.Object
getPropertyInternal(java.lang.String key)
Read property from underlying map.protected boolean
isEmptyInternal()
Check if the configuration is emptyprotected int
sizeInternal()
Actually calculates the size of this configuration.-
Methods inherited from class org.apache.commons.configuration2.AbstractConfiguration
addErrorLogListener, addProperty, addPropertyInternal, 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, 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, interpolatedConfiguration, isEmpty, isScalarValue, isThrowExceptionOnMissing, lock, setConfigurationDecoder, setConversionHandler, setDefaultLookups, setInterpolator, setListDelimiterHandler, setLogger, setParentInterpolator, setPrefixLookups, setProperty, setPropertyInternal, setSynchronizer, setThrowExceptionOnMissing, size, subset, unlock
-
Methods inherited from class org.apache.commons.configuration2.event.BaseEventSource
addEventListener, clearErrorListeners, clearEventListeners, copyEventListeners, createErrorEvent, createEvent, fireError, fireEvent, getEventListenerRegistrations, getEventListeners, isDetailEvents, removeEventListener, setDetailEvents
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.configuration2.ImmutableConfiguration
getEnum, getEnum
-
-
-
-
Method Detail
-
addPropertyDirect
protected void addPropertyDirect(java.lang.String key, java.lang.Object value)
Adds a key/value pair to the map. This routine does no magic morphing. It ensures the keylist is maintained- Specified by:
addPropertyDirect
in classAbstractConfiguration
- Parameters:
key
- key to use for mappingvalue
- object to store
-
clearInternal
protected void clearInternal()
Description copied from class:AbstractConfiguration
Clears the whole configuration. This method is called byclear()
after some preparations have been made. This base implementation uses the iterator provided bygetKeys()
to remove every single property. Subclasses should override this method if there is a more efficient way of clearing the configuration.- Overrides:
clearInternal
in classAbstractConfiguration
-
clearPropertyDirect
protected void clearPropertyDirect(java.lang.String key)
Clear a property in the configuration.- Specified by:
clearPropertyDirect
in classAbstractConfiguration
- Parameters:
key
- the key to remove along with corresponding value.
-
clone
public java.lang.Object clone()
Creates a copy of this object. This implementation will create a deep clone, i.e. the map that stores the properties is cloned, too. So changes performed at the copy won't affect the original and vice versa.- Overrides:
clone
in classBaseEventSource
- Returns:
- the copy
- Since:
- 1.3
-
cloneStore
private void cloneStore(BaseConfiguration copy) throws java.lang.CloneNotSupportedException
Clones the internal map with the data of this configuration.- Parameters:
copy
- the copy created by theclone()
method- Throws:
java.lang.CloneNotSupportedException
- if the map cannot be cloned
-
containsKeyInternal
protected boolean containsKeyInternal(java.lang.String key)
check if the configuration contains the key- Specified by:
containsKeyInternal
in classAbstractConfiguration
- Parameters:
key
- the configuration key- Returns:
true
if Configuration contain given key,false
otherwise.
-
containsValueInternal
protected boolean containsValueInternal(java.lang.Object value)
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.- Specified by:
containsValueInternal
in classAbstractConfiguration
- Parameters:
value
- the value in question- Returns:
true
if and only if some key maps to thevalue
argument in this configuration as determined by theequals
method;false
otherwise.- Since:
- 2.11.0
-
getKeysInternal
protected java.util.Iterator<java.lang.String> getKeysInternal()
Gets the list of the keys contained in the configuration repository.- Specified by:
getKeysInternal
in classAbstractConfiguration
- Returns:
- An Iterator.
-
getPropertyInternal
protected java.lang.Object getPropertyInternal(java.lang.String key)
Read property from underlying map.- Specified by:
getPropertyInternal
in classAbstractConfiguration
- Parameters:
key
- key to use for mapping- Returns:
- object associated with the given configuration key.
-
isEmptyInternal
protected boolean isEmptyInternal()
Check if the configuration is empty- Specified by:
isEmptyInternal
in classAbstractConfiguration
- Returns:
true
if Configuration is empty,false
otherwise.
-
sizeInternal
protected int sizeInternal()
Actually calculates the size of this configuration. This method is called bysize()
with a read lock held. The base implementation provided here calculates the size based on the iterator returned bygetKeys()
. Sub classes which can determine the size in a more efficient way should override this method. This implementation obtains the size directly from the map used as data store. So this is a rather efficient implementation.- Overrides:
sizeInternal
in classAbstractConfiguration
- Returns:
- the size of this configuration (i.e. the number of keys)
-
-