de.smartics.properties.impl.config.jndi
Class JndiConfigurationProperties

Package class diagram package JndiConfigurationProperties
java.lang.Object
  extended by de.smartics.properties.spi.config.support.AbstractConfigurationProperties
      extended by de.smartics.properties.spi.config.support.AbstractAdminModeConfigurationProperties
          extended by de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesManagement
              extended by de.smartics.properties.impl.config.jndi.JndiConfigurationProperties
All Implemented Interfaces:
ConfigurationProperties, ConfigurationPropertiesManagement, SerializableConfigurationProperties, SerializableConfigurationPropertiesManagement, ConfigurationPropertiesManagementSpi, ConfigurationPropertiesSpi, SerializableConfigurationPropertiesManagementSpi, Serializable

@ThreadSafe
public final class JndiConfigurationProperties
     
     
extends AbstractConfigurationPropertiesManagement
implements SerializableConfigurationPropertiesManagement, SerializableConfigurationPropertiesManagementSpi

Implementation based on JNDI.

See Also:
Serialized Form

Constructor Summary
JndiConfigurationProperties(ConfigurationKey<?> key, PropertyDescriptorRegistry registry, PropertyValueSecurity decrypter)
          Default constructor.
 
Method Summary
protected  void addDefinitionsToStore(PropertyProvider properties)
          Implementations decide whether or not registered definitions should be written to the store.
 PropertyStoreAccessor getPropertyStoreAccessor()
          Provides direct access to the properties in the underlying store.
protected  void setPropertiesToStore(PropertyProvider provider)
          Allows to store all properties efficiently by subclasses.
 SerializableConfigurationPropertiesManagement toSerializable()
          Creates a serializable variant of this implementation.
 
Methods inherited from class de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesManagement
addDefinitions, addDescriptors, deletePropertyInStore, flush, getDescriptor, getDescriptor, getMandatoryPropertyDescriptors, getProperty, getProperty, getPropertyAsType, getPropertyCollectionFromStore, getPropertyFromStore, getValidatedProperty, setProperty, setPropertyToStore, unsetProperty, validate, validate, validate
 
Methods inherited from class de.smartics.properties.spi.config.support.AbstractAdminModeConfigurationProperties
isInAdminMode, setToAdminMode, toRepresentative
 
Methods inherited from class de.smartics.properties.spi.config.support.AbstractConfigurationProperties
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, getContext, getContext, getKey, getProperties, getProperties, getProperty, getProperty, getProperty, getPropertyDescriptor, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueSecurity, getRegistry, getValidatedProperty, getValidatedProperty, removePropertyChangeListener, removePropertyChangeListener, resolveAndConvert, resolveAndConvertAndValidate, toString, validate, validate, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.smartics.properties.api.config.domain.ConfigurationPropertiesManagement
addDefinitions, addDescriptors, flush, getDescriptor, getDescriptor, getMandatoryPropertyDescriptors, getPropertyValueSecurity, getRegistry, setProperty, setToAdminMode, toRepresentative, unsetProperty
 
Methods inherited from interface de.smartics.properties.spi.config.support.ConfigurationPropertiesSpi
getProperties
 
Methods inherited from interface de.smartics.properties.api.config.domain.ConfigurationProperties
addPropertyChangeListener, addPropertyChangeListener, getContext, getContext, getKey, getProperties, getProperty, getProperty, getProperty, getProperty, getProperty, getPropertyAsType, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueAsString, getValidatedProperty, getValidatedProperty, getValidatedProperty, isInAdminMode, removePropertyChangeListener, removePropertyChangeListener, validate, validate, validate, validate, validate
 

Constructor Detail

JndiConfigurationProperties

public JndiConfigurationProperties(ConfigurationKey<?> key,
                                   PropertyDescriptorRegistry registry,
                                   PropertyValueSecurity decrypter)
                            throws de.smartics.util.lang.NullArgumentException,
                                   NamingException,
                                   IllegalArgumentException
Default constructor.

Parameters:
key - the key that identifies the configuration.
registry - the registry to resolve property descriptors.
decrypter - the helper to decrypt secured property values.
Throws:
de.smartics.util.lang.NullArgumentException - if key, registry or decrypter is null.
NamingException - if the JNDI context cannot be created.
IllegalArgumentException - on any problem accessing the JNDI context.
Method Detail

getPropertyStoreAccessor

public PropertyStoreAccessor getPropertyStoreAccessor()
Description copied from interface: ConfigurationPropertiesManagement
Provides direct access to the properties in the underlying store.

Specified by:
getPropertyStoreAccessor in interface ConfigurationPropertiesManagement
Returns:
direct access to the properties in the underlying store.

setPropertiesToStore

protected void setPropertiesToStore(PropertyProvider provider)
                             throws JndiPropertyStoreException
Description copied from class: AbstractConfigurationPropertiesManagement
Allows to store all properties efficiently by subclasses. The default implementation simply iterates.

Specified by:
setPropertiesToStore in class AbstractConfigurationPropertiesManagement
Parameters:
provider - the provider with the properties to be stored.
Throws:
JndiPropertyStoreException

addDefinitionsToStore

protected void addDefinitionsToStore(PropertyProvider properties)
                              throws JndiPropertyStoreException
Implementations decide whether or not registered definitions should be written to the store. This is the default and subclasses may override to implement another strategy.

Usually configurations that are backed up by an external (e.g. persistent) store do not want to store definitions here. So they override this method with a no-op.

Specified by:
addDefinitionsToStore in class AbstractConfigurationPropertiesManagement
Implementation Notes:
since JNDI values are currently not persisted.
Parameters:
properties - the properties that are to be registered as definitions.
Throws:
JndiPropertyStoreException
To Do:
check JNDI configuration for persistence.

toSerializable

public SerializableConfigurationPropertiesManagement toSerializable()
Description copied from interface: ConfigurationProperties
Creates a serializable variant of this implementation.

Specified by:
toSerializable in interface ConfigurationProperties
Specified by:
toSerializable in interface ConfigurationPropertiesManagement
Returns:
a serializable variant of this implementation.
See Also:
ConfigurationPropertiesProxy, ConfigurationPropertiesManagementProxy


Copyright © 2012-2013 Kronseder & Reiner GmbH - smartics. All Rights Reserved.