de.smartics.properties.api.config.domain
Interface ConfigurationPropertiesManagement

Package class diagram package ConfigurationPropertiesManagement
All Superinterfaces:
ConfigurationProperties
All Known Subinterfaces:
ConfigurationPropertiesManagementSpi, SerializableConfigurationPropertiesManagement, SerializableConfigurationPropertiesManagementSpi
All Known Implementing Classes:
AbstractCacheConfigurationPropertiesManagement, AbstractConfigurationPropertiesManagement, AbstractInMemoryConfigurationProperties, BootConfigurationProperties, CacheConfigurationPropertiesManagement, ClasspathConfigurationProperties, ConfigurationPropertiesManagementProxy, ConfigurationPropertiesManagementWithDefaults, DataSourceConfigurationProperties, PropertiesConfigurationProperties, SerializableCacheConfigurationPropertiesManagement

public interface ConfigurationPropertiesManagement
     
     
extends ConfigurationProperties

Provides management access to the configuration properties. Allows to add properties and other functions not related with accessing property values.

Implementation Notes:
This interface is intended to be implemented by service providers. API users are intended to us this interface to access properties. For details on creating instances of classes implementing this interface please refer to de.smartics.properties.api.config.

Method Summary
 ConfigurationPropertiesManagement addDefinitions(Properties properties)
          Adds the given definitions to this configuration.
 void addDescriptors(Class<?> declaringType)
          Adds all property descriptors declared in the given type.
 void flush()
          Signal to flush properties changed in memory to be written to a secondary storage.
 PropertyDescriptor getDescriptor(PropertyKey key)
          Returns the descriptor for the given key.
 PropertyDescriptor getDescriptor(String key)
          Returns the descriptor for the given key.
 List<PropertyDescriptor> getMandatoryPropertyDescriptors()
          Returns the list of mandatory properties.
 PropertyDescriptorRegistry getRegistry()
          Returns the registry to resolve property descriptors.
 Property setProperty(PropertyKey key, String value)
          Sets the property value for the given key.
 SerializableConfigurationPropertiesManagement toSerializable()
          Creates a serializable variant of this implementation.
 Property unsetProperty(PropertyKey key)
          Unsets the property value for the given key.
 
Methods inherited from interface de.smartics.properties.api.config.domain.ConfigurationProperties
addPropertyChangeListener, addPropertyChangeListener, getContext, getContext, getKey, getProperties, getProperty, getProperty, getProperty, getProperty, getProperty, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueAsString, getResolvedProperty, getResolvedProperty, getResolvedProperty, removePropertyChangeListener, removePropertyChangeListener, validate, validate
 

Method Detail

getRegistry

PropertyDescriptorRegistry getRegistry()
Returns the registry to resolve property descriptors.

Returns:
the registry to resolve property descriptors.

addDescriptors

void addDescriptors(Class<?> declaringType)
                    throws DuplicatePropertyDeclarationsException
Adds all property descriptors declared in the given type.

Parameters:
declaringType - the type that declares the descriptors.
Throws:
DuplicatePropertyDeclarationsException - if any of the descriptors declare the same property.

getDescriptor

PropertyDescriptor getDescriptor(String key)
                                 throws UnknownPropertyException
Returns the descriptor for the given key.

Parameters:
key - the of the requested descriptor.
Returns:
the descriptor whose key matches the given key.
Throws:
UnknownPropertyException - if the property is not known.

getDescriptor

PropertyDescriptor getDescriptor(PropertyKey key)
                                 throws UnknownPropertyException
Returns the descriptor for the given key.

Parameters:
key - the of the requested descriptor.
Returns:
the descriptor whose key matches the given key.
Throws:
UnknownPropertyException - if the property is not known.

getMandatoryPropertyDescriptors

List<PropertyDescriptor> getMandatoryPropertyDescriptors()
Returns the list of mandatory properties.

Returns a copy that can be edited.

Returns:
the list of mandatory properties.

addDefinitions

ConfigurationPropertiesManagement addDefinitions(Properties properties)
                                                 throws NullPointerException
Adds the given definitions to this configuration.

Parameters:
properties - the property definitions to add.
Returns:
a reference to this configuration for chaining.
Throws:
NullPointerException - if properties is null.

setProperty

Property setProperty(PropertyKey key,
                     String value)
                     throws NullPointerException,
                            PropertyValidationException,
                            ReadOnlyPropertyException
Sets the property value for the given key.

Parameters:
key - the key to the property.
value - the value to the property.
Returns:
the old value to the property. A value of null is returned if the property had no value prior to this call.
Throws:
NullPointerException - if key is null.
PropertyValidationException - if the property value is invalid according to its constraints.
ReadOnlyPropertyException - if the property to update is read-only.

unsetProperty

Property unsetProperty(PropertyKey key)
                       throws NullPointerException,
                              ReadOnlyPropertyException
Unsets the property value for the given key.

Parameters:
key - the key to the property.
Returns:
the old value to the property. A value of null is returned if the property had no value prior to this call.
Throws:
NullPointerException - if key is null.
ReadOnlyPropertyException - if the property to update is read-only.

flush

void flush()
Signal to flush properties changed in memory to be written to a secondary storage.

Implementations are not required to only write on a flush. They have to make sure that after the flush is called, all data is transfered to the secondary storage.


toSerializable

SerializableConfigurationPropertiesManagement toSerializable()
Creates a serializable variant of this implementation.

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


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