Class BaseConfiguration
- java.lang.Object
-
- org.apache.commons.configuration2.event.BaseEventSource
-
- org.apache.commons.configuration2.AbstractConfiguration
-
- org.apache.commons.configuration2.BaseConfiguration
-
- All Implemented Interfaces:
Cloneable
,Configuration
,EventSource
,ImmutableConfiguration
,SynchronizerSupport
- Direct Known Subclasses:
PropertiesConfiguration
,XMLPropertiesConfiguration
public class BaseConfiguration extends AbstractConfiguration implements 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.
-
-
Constructor Summary
Constructors Constructor Description BaseConfiguration()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addPropertyDirect(String key, Object value)
Adds a key/value pair to the map.protected void
clearInternal()
Clears the whole configuration.protected void
clearPropertyDirect(String key)
Clear a property in the configuration.Object
clone()
Creates a copy of this object.protected boolean
containsKeyInternal(String key)
check if the configuration contains the keyprotected Iterator<String>
getKeysInternal()
Get the list of the keys contained in the configuration repository.protected Object
getPropertyInternal(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, containsKey, 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, 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
-
-
-
-
Constructor Detail
-
BaseConfiguration
public BaseConfiguration()
-
-
Method Detail
-
addPropertyDirect
protected void addPropertyDirect(String key, 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
-
getPropertyInternal
protected Object getPropertyInternal(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.
-
containsKeyInternal
protected boolean containsKeyInternal(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.
-
clearPropertyDirect
protected void clearPropertyDirect(String key)
Clear a property in the configuration.- Specified by:
clearPropertyDirect
in classAbstractConfiguration
- Parameters:
key
- the key to remove along with corresponding value.
-
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
-
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)
-
getKeysInternal
protected Iterator<String> getKeysInternal()
Get the list of the keys contained in the configuration repository.- Specified by:
getKeysInternal
in classAbstractConfiguration
- Returns:
- An Iterator.
-
clone
public 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
-
-