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

    All Methods Instance Methods Concrete Methods
    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()` | Return the base context with the prefix applied.
    `Context` | `getContext()` | Return 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)` | Set 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, 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 Detail

    - #### 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 Detail

    - #### 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

      Return the base context with the prefix applied.
      Returns:
        the base context
      Throws:
        `NamingException` - if an error occurs

    - #### getContext

          public Context getContext()

      Return 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)

      Set the initial context of the configuration.
      Parameters:
        `context` - the context