Class 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 Details

  • Method Details

    • 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 class AbstractConfiguration
      Parameters:
      key - key to use for mapping
      value - object to store
    • clearInternal

      protected void clearInternal()
      Description copied from class: AbstractConfiguration
      Clears the whole configuration. This method is called by clear() after some preparations have been made. This base implementation uses the iterator provided by getKeys() to remove every single property. Subclasses should override this method if there is a more efficient way of clearing the configuration.
      Overrides:
      clearInternal in class AbstractConfiguration
    • clearPropertyDirect

      protected void clearPropertyDirect(String key)
      Clear a property in the configuration.
      Specified by:
      clearPropertyDirect in class AbstractConfiguration
      Parameters:
      key - the key to remove along with corresponding value.
    • 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 class BaseEventSource
      Returns:
      the copy
      Since:
      1.3
    • containsKeyInternal

      protected boolean containsKeyInternal(String key)
      check if the configuration contains the key
      Specified by:
      containsKeyInternal in class AbstractConfiguration
      Parameters:
      key - the configuration key
      Returns:
      true if Configuration contain given key, false otherwise.
    • containsValueInternal

      protected boolean containsValueInternal(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 class AbstractConfiguration
      Parameters:
      value - the value in question
      Returns:
      true if and only if some key maps to the value argument in this configuration as determined by the equals method; false otherwise.
      Since:
      2.11.0
    • getKeysInternal

      Gets the list of the keys contained in the configuration repository.
      Specified by:
      getKeysInternal in class AbstractConfiguration
      Returns:
      An Iterator.
    • getPropertyInternal

      Read property from underlying map.
      Specified by:
      getPropertyInternal in class AbstractConfiguration
      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 class AbstractConfiguration
      Returns:
      true if Configuration is empty, false otherwise.
    • sizeInternal

      protected int sizeInternal()
      Actually calculates the size of this configuration. This method is called by size() with a read lock held. The base implementation provided here calculates the size based on the iterator returned by getKeys(). 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 class AbstractConfiguration
      Returns:
      the size of this configuration (i.e. the number of keys)