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.
  `protected boolean`
  `containsValueInternal(Object value)`
  Tests whether this configuration contains one or more matches to this value.
  `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, contains, containsKey, containsValue, 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

  `entrySet, forEach, 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(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

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

- ## Method Details

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

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

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

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

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

  - ### getPrefix

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

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

  - ### isEmptyInternal

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

  - ### setContext

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

  - ### setPrefix

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

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