Interface Configuration

All Superinterfaces:
BeanInfo, Cloneable, Closeable, Serializable
All Known Subinterfaces:
DistributedConfiguration, DistributedJDBCConfiguration, JDBCConfiguration, OpenJPAConfiguration
All Known Implementing Classes:
ConfigurationImpl, DistributedJDBCConfigurationImpl, JDBCConfigurationImpl, OpenJPAConfigurationImpl, XMLConfiguration

public interface Configuration extends BeanInfo, Serializable, Closeable, Cloneable
Interface for generic configuration objects. Includes the ability to write configuration to and from Properties instances. Instances are threadsafe for reads, but not for writes.
Author:
Marc Prud'hommeaux, Abe White
  • Field Details

    • ATTRIBUTE_ALLOWED_VALUES

      static final String ATTRIBUTE_ALLOWED_VALUES
      Attribute of returned Value property descriptors listing recognized values for the property.
      See Also:
    • ATTRIBUTE_TYPE

      static final String ATTRIBUTE_TYPE
      Attribute of the returned Value property descriptors naming the property's type or category.
      See Also:
    • ATTRIBUTE_CATEGORY

      static final String ATTRIBUTE_CATEGORY
      Attribute of the returned Value property descriptors naming the property' hierarchical category.
      See Also:
    • ATTRIBUTE_ORDER

      static final String ATTRIBUTE_ORDER
      Attribute of the returned Value property descriptors naming the property's ordering in its category.
      See Also:
    • ATTRIBUTE_INTERFACE

      static final String ATTRIBUTE_INTERFACE
      Attribute of the returned Value property descriptors naming the interface that plugin values for this property must implement.
      See Also:
    • ATTRIBUTE_XML

      static final String ATTRIBUTE_XML
      Attribute of the returned Value property descriptors naming the property's name in XML format (i.e. two-words instead of TwoWords).
      See Also:
    • INIT_STATE_LIQUID

      static final int INIT_STATE_LIQUID
      See Also:
    • INIT_STATE_FREEZING

      static final int INIT_STATE_FREEZING
      See Also:
    • INIT_STATE_FROZEN

      static final int INIT_STATE_FROZEN
      See Also:
  • Method Details

    • getProductName

      String getProductName()
      Return the product name. Defaults to openjpa.
    • setProductName

      void setProductName(String name)
      Set the product name.
    • getLogFactory

      LogFactory getLogFactory()
      The log factory. If no log factory has been set explicitly, this method will create one.
    • setLogFactory

      void setLogFactory(LogFactory factory)
      The log factory.
    • getLog

      String getLog()
      Log plugin setting.
    • setLog

      void setLog(String log)
      Log plugin setting.
    • getLog

      Log getLog(String category)
      Return the log for the given category.
      See Also:
    • getConfigurationLog

      Log getConfigurationLog()
      Return the log to use for configuration messages.
    • getId

      String getId()
      An environment-specific identifier for this configuration. This might correspond to a JPA persistence-unit name, or to some other more-unique value available in the current environment.
      Since:
      0.9.7
    • setId

      void setId(String id)
      An environment-specific identifier for this configuration. This might correspond to a JPA persistence-unit name, or to some other more-unique value available in the current environment.
      Since:
      0.9.7
    • getValue

      Value getValue(String property)
      Return the Value for the given property, or null if none.
    • getValues

      Value[] getValues()
      Return the set of all Values.
    • addValue

      <T extends Value> T addValue(T val)
      Add the given value to the set of configuration properties. This method replaces any existing value under the same property.
    • removeValue

      boolean removeValue(Value val)
      Remove the given value from the set of configuration properties.
    • toProperties

      Map<String,Object> toProperties(boolean storeDefaults)
      A properties representation of this Configuration. Note that changes made to this properties object will not be automatically reflected in this Configuration object.
      Parameters:
      storeDefaults - if true, then properties will be written out even if they match the default value for a property
    • getPropertyKeys

      List<String> getPropertyKeys(String propertyName)
      Get the set of all known property keys, including any equivalent keys, appropriately prefixed.
      Parameters:
      propertyName - the name of the property for which the keys are to be retrieved.
      Since:
      2.0.0
    • getPropertyKeys

      Set<String> getPropertyKeys()
      Get the set of all known property keys, including any equivalent keys, appropriately prefixed.
      Since:
      2.0.0
    • fromProperties

      void fromProperties(Map map)
      Set this Configuration via the given map. Any keys missing from the given map will not be set. Note that changes made to this map will not be automatically reflected in this Configuration object. IMPORTANT: If the map contains instantiated objects(rather than string values), only the string representation of those objects are considered in this configuration's equals and hashCode methods. If the object's property has no string form(such as an ObjectValue), the object is not part of the equality and hashing calculations.
    • addPropertyChangeListener

      void addPropertyChangeListener(PropertyChangeListener listener)
      Adds a listener for any property changes. The property events fired will not include the old value.
      Parameters:
      listener - the listener to receive notification of property changes
    • removePropertyChangeListener

      void removePropertyChangeListener(PropertyChangeListener listener)
      Removes a listener for any property changes.
      Parameters:
      listener - the listener to remove
    • setReadOnly

      void setReadOnly(int readOnly)
      Lock down the configuration's state. Attempting to set state on a read-only configuration results in an exception.
    • isReadOnly

      boolean isReadOnly()
      Return true if this configuration is immutable.
    • instantiateAll

      void instantiateAll()
      Call the instantiating get methods for all values. Up-front instantiation allows one to avoid the synchronization necessary with lazy instantiation.
    • close

      void close()
      Free the resources used by this object.
      Specified by:
      close in interface Closeable
    • clone

      Object clone()
      Return a copy of this configuration.
    • getUserClassLoader

      ClassLoader getUserClassLoader()
      Gets a class loader that can be additionally used to load custom plugin values.
      Returns:
      an additional classloader for loading custom plugins. Can be null.
      Since:
      2.3.0
      See Also:
    • setUserClassLoader

      void setUserClassLoader(ClassLoader loader)
      Sets an additional classloader to load custom plugin values. In OSGi environment, we internally set the bundle class loader as the user class loader.
      Parameters:
      loader - a class loader to load custom plugin values
      Since:
      2.3.0