Package org.apache.commons.configuration2

# Class JNDIConfiguration

java.lang.Object
org.apache.commons.configuration2.event.BaseEventSource
org.apache.commons.configuration2.AbstractConfiguration
org.apache.commons.configuration2.JNDIConfiguration

All Implemented Interfaces:
  `Configuration`, `EventSource`, `ImmutableConfiguration`, `SynchronizerSupport`

public class JNDIConfiguration extends AbstractConfiguration
This Configuration class allows you to interface with a JNDI datasource. A JNDIConfiguration is read-only, write operations will throw an UnsupportedOperationException. The clear operations are supported but the underlying JNDI data source is not changed.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JNDIConfiguration()`
  Creates a JNDIConfiguration using the default initial context as the root of the properties.
  `JNDIConfiguration(String prefix)`
  Creates a JNDIConfiguration using the default initial context, shifted with the specified prefix, as the root of the properties.
  `JNDIConfiguration(Context context)`
  Creates a JNDIConfiguration using the specified initial context as the root of the properties.
  `JNDIConfiguration(Context context, String prefix)`
  Creates a JNDIConfiguration using the specified initial context shifted by the specified prefix as the root of the properties.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addPropertyDirect(String key, Object obj)`
  This operation is not supported and will throw an UnsupportedOperationException.
  `protected void`
  `clearPropertyDirect(String key)`
  Removes the specified property.
  `protected boolean`
  `containsKeyInternal(String key)`
  Checks whether the specified key is contained in this configuration.
  `Context`
  `getBaseContext()`
  Gets the base context with the prefix applied.
  `Context`
  `getContext()`
  Gets the initial context used by this configuration.
  `protected Iterator<String>`
  `getKeysInternal()`
  Gets an iterator with all property keys stored in this configuration.
  `protected Iterator<String>`
  `getKeysInternal(String prefix)`
  Gets an iterator with all property keys starting with the given prefix.
  `String`
  `getPrefix()`
  Gets the prefix.
  `protected Object`
  `getPropertyInternal(String key)`
  Gets the value of the specified property.
  `protected boolean`
  `isEmptyInternal()`
  Returns a flag whether this configuration is empty.
  `void`
  `setContext(Context context)`
  Sets the initial context of the configuration.
  `void`
  `setPrefix(String prefix)`
  Sets the prefix.
  `protected void`
  `setPropertyInternal(String key, Object value)`
  This operation is not supported and will throw an UnsupportedOperationException.

  ### Methods inherited from class org.apache.commons.configuration2.AbstractConfiguration

  `addErrorLogListener, addProperty, addPropertyInternal, append, beginRead, beginWrite, clear, clearInternal, 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, 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, setSynchronizer, setThrowExceptionOnMissing, size, sizeInternal, subset, unlock`

  ### Methods inherited from class org.apache.commons.configuration2.event.BaseEventSource

  `addEventListener, clearErrorListeners, clearEventListeners, clone, 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 Details

  - ### JNDIConfiguration

    public JNDIConfiguration() throws NamingException
    Creates a JNDIConfiguration using the default initial context as the root of the properties.
    Throws:
      `NamingException` - thrown if an error occurs when initializing the default context

  - ### JNDIConfiguration

    public JNDIConfiguration(String prefix) throws NamingException
    Creates a JNDIConfiguration using the default initial context, shifted with the specified prefix, as the root of the properties.
    Parameters:
      `prefix` - the prefix
    Throws:
      `NamingException` - thrown if an error occurs when initializing the default context

  - ### JNDIConfiguration

    public JNDIConfiguration(Context context)
    Creates a JNDIConfiguration using the specified initial context as the root of the properties.
    Parameters:
      `context` - the initial context

  - ### JNDIConfiguration

    public JNDIConfiguration(Context context, String prefix)
    Creates a JNDIConfiguration using the specified initial context shifted by the specified prefix as the root of the properties.
    Parameters:
      `context` - the initial context
      `prefix` - the prefix

- ## Method Details

  - ### getKeysInternal

    protected Iterator<String> getKeysInternal()
    Gets an iterator with all property keys stored in this configuration.
    Specified by:
      `getKeysInternal` in class `AbstractConfiguration`
    Returns:
      an iterator with all keys

  - ### getKeysInternal

    protected Iterator<String> getKeysInternal(String prefix)
    Gets an iterator with all property keys starting with the given prefix.
    Overrides:
      `getKeysInternal` in class `AbstractConfiguration`
    Parameters:
      `prefix` - the prefix
    Returns:
      an iterator with the selected keys

  - ### isEmptyInternal

    protected boolean isEmptyInternal()
    Returns a flag whether this configuration is empty.
    Specified by:
      `isEmptyInternal` in class `AbstractConfiguration`
    Returns:
      the empty flag

  - ### setPropertyInternal

    protected void setPropertyInternal(String key, Object value)

    This operation is not supported and will throw an UnsupportedOperationException.

    Overrides:
      `setPropertyInternal` in class `AbstractConfiguration`
    Parameters:
      `key` - the key
      `value` - the value
    Throws:
      `UnsupportedOperationException` - always thrown as this method is not supported

  - ### clearPropertyDirect

    protected void clearPropertyDirect(String key)
    Removes the specified property.
    Specified by:
      `clearPropertyDirect` in class `AbstractConfiguration`
    Parameters:
      `key` - the key of the property to remove

  - ### containsKeyInternal

    protected boolean containsKeyInternal(String key)
    Checks whether the specified key is contained in this configuration.
    Specified by:
      `containsKeyInternal` in class `AbstractConfiguration`
    Parameters:
      `key` - the key to check
    Returns:
      a flag whether this key is stored in this configuration

  - ### getPrefix

    public String getPrefix()
    Gets the prefix.
    Returns:
      the prefix

  - ### setPrefix

    public void setPrefix(String prefix)
    Sets the prefix.
    Parameters:
      `prefix` - The prefix to set

  - ### getPropertyInternal

    protected Object getPropertyInternal(String key)
    Gets the value of the specified property.
    Specified by:
      `getPropertyInternal` in class `AbstractConfiguration`
    Parameters:
      `key` - the key of the property
    Returns:
      the value of this property

  - ### addPropertyDirect

    protected void addPropertyDirect(String key, Object obj)

    This operation is not supported and will throw an UnsupportedOperationException.

    Specified by:
      `addPropertyDirect` in class `AbstractConfiguration`
    Parameters:
      `key` - the key
      `obj` - the value
    Throws:
      `UnsupportedOperationException` - always thrown as this method is not supported

  - ### getBaseContext

    public Context getBaseContext() throws NamingException
    Gets the base context with the prefix applied.
    Returns:
      the base context
    Throws:
      `NamingException` - if an error occurs

  - ### getContext

    public Context getContext()
    Gets the initial context used by this configuration. This context is independent of the prefix specified.
    Returns:
      the initial context

  - ### setContext

    public void setContext(Context context)
    Sets the initial context of the configuration.
    Parameters:
      `context` - the context