|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.smartics.properties.spi.config.support.AbstractConfigurationProperties de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesManagement
@ThreadSafe public abstract class AbstractConfigurationPropertiesManagement
Abstract implementation of the ConfigurationProperties
interface.
Constructor Summary | |
---|---|
protected |
AbstractConfigurationPropertiesManagement() Constructor for serializable subclasses. |
protected |
AbstractConfigurationPropertiesManagement(ConfigurationKey key, PropertyDescriptorRegistry registry) Default constructor. |
Method Summary | |
---|---|
ConfigurationPropertiesManagement |
addDefinitions(Properties properties) Adds the given definitions to this configuration. |
void |
addDescriptors(Class<?> propertySetType) Adds all property descriptors declared in the given type. |
protected abstract Property |
deletePropertyInStore(String name) Deletes the property with the given name. |
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. |
Property |
getProperty(PropertyDescriptor descriptor, Object defaultValue) Returns the property for the given descriptor, allowing to transparently provide a default value to be returned in case the property has not been set. |
Property |
getProperty(String key, Object defaultValue) Returns the property for the given key, allowing to transparently provide a default value to be returned in case the property has not been set. |
protected abstract PropertyCollection |
getPropertyCollectionFromStore() Returns a collection to iterate over all properties of the configuration. |
protected abstract Property |
getPropertyFromStore(String name) Fetches the property from the store by the given name. |
ResolvedProperty |
getResolvedProperty(PropertyDescriptor descriptor, Object defaultValue) Returns the resolved property for the given descriptor's key, allowing to transparently provide a default value to be returned in case the property has not been set. |
Property |
setProperty(PropertyKey key, String value) Sets the property value for the given key. |
protected abstract Property |
setPropertyToStore(String name, String value) Sets the property to the given value. |
Property |
unsetProperty(PropertyKey key) Unsets the property value for the given key. |
void |
validate(boolean lenient) Validates all properties in the given configuration. |
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 |
---|
getRegistry, toSerializable |
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, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValue, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueAsString, getPropertyValueAsString, getResolvedProperty, getResolvedProperty, removePropertyChangeListener, removePropertyChangeListener, validate |
Constructor Detail |
---|
protected AbstractConfigurationPropertiesManagement()
protected AbstractConfigurationPropertiesManagement(ConfigurationKey key, PropertyDescriptorRegistry registry) throws de.smartics.util.lang.NullArgumentException
key
- the key that identifies the configuration.
registry
- the registry to resolve property descriptors.
de.smartics.util.lang.NullArgumentException
- if
key
or
registry
is
null
.
Method Detail |
---|
public final PropertyDescriptor getDescriptor(String key) throws UnknownPropertyException
ConfigurationPropertiesManagement
getDescriptor
in interface
ConfigurationPropertiesManagement
key
- the of the requested descriptor.
key
.
UnknownPropertyException
- if the property is not known.
public final PropertyDescriptor getDescriptor(PropertyKey key) throws UnknownPropertyException
ConfigurationPropertiesManagement
getDescriptor
in interface
ConfigurationPropertiesManagement
key
- the of the requested descriptor.
key
.
UnknownPropertyException
- if the property is not known.
public final void addDescriptors(Class<?> propertySetType) throws DuplicatePropertyDeclarationsException
ConfigurationPropertiesManagement
addDescriptors
in interface
ConfigurationPropertiesManagement
propertySetType
- the type that declares the descriptors.
DuplicatePropertyDeclarationsException
- if any of the descriptors declare the same property.
public final List<PropertyDescriptor> getMandatoryPropertyDescriptors()
ConfigurationPropertiesManagement
Returns a copy that can be edited.
getMandatoryPropertyDescriptors
in interface
ConfigurationPropertiesManagement
public final ConfigurationPropertiesManagement addDefinitions(Properties properties) throws NullPointerException
ConfigurationPropertiesManagement
addDefinitions
in interface
ConfigurationPropertiesManagement
properties
- the property definitions to add.
NullPointerException
- if
properties
is
null
.
public final Property getProperty(String key, Object defaultValue) throws IllegalArgumentException, UnknownPropertyException
ConfigurationProperties
getProperty
in interface
ConfigurationProperties
getProperty
in class
AbstractConfigurationProperties
key
- the unique key of the property.
defaultValue
- the default value to use in case no value has been specified.
IllegalArgumentException
- if
key
is blank.
UnknownPropertyException
- if
key
is not known.
public final Property getProperty(PropertyDescriptor descriptor, Object defaultValue) throws IllegalArgumentException, UnknownPropertyException
ConfigurationProperties
getProperty
in interface
ConfigurationProperties
descriptor
- the descriptor containing the unique key of the property.
defaultValue
- the default value to use in case no value has been specified.
UnknownPropertyException
- if the key of the
descriptor
is not known.
IllegalArgumentException
public final ResolvedProperty getResolvedProperty(PropertyDescriptor descriptor, Object defaultValue) throws IllegalArgumentException, UnknownPropertyException, PropertyValidationException
ConfigurationProperties
getResolvedProperty
in interface
ConfigurationProperties
descriptor
- descriptor key to the property.
defaultValue
- the default value to use in case no value has been specified.
null
, although the value / resolved value of the returned property may be
null
.
IllegalArgumentException
- if
key
is blank.
UnknownPropertyException
- if
key
is not known.
PropertyValidationException
- if the property is invalid according to its constraints.
public final Property setProperty(PropertyKey key, String value) throws NullPointerException, PropertyValidationException, ReadOnlyPropertyException
ConfigurationPropertiesManagement
setProperty
in interface
ConfigurationPropertiesManagement
key
- the key to the property.
value
- the value to the property.
null
is returned if the property had no value prior to this call.
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.
public final Property unsetProperty(PropertyKey key) throws NullPointerException, ReadOnlyPropertyException
ConfigurationPropertiesManagement
unsetProperty
in interface
ConfigurationPropertiesManagement
key
- the key to the property.
null
is returned if the property had no value prior to this call.
NullPointerException
- if
key
is
null
.
ReadOnlyPropertyException
- if the property to update is read-only.
public final void validate(boolean lenient) throws ConfigurationValidationException
ConfigurationProperties
validate
in interface
ConfigurationProperties
lenient
- the lenient flag that tells the validation process to handle unknown properties gracefully if set to
true
. If the value is
false
unknown properties are reported as validation failures.
ConfigurationValidationException
- if the configuration contains properties that do not meet the required constraints.
public void flush()
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.
This implementation does nothing on a flush. Should be overridden by implementations that do want to take actions on a flush.
flush
in interface
ConfigurationPropertiesManagement
protected abstract Property setPropertyToStore(String name, String value) throws NullPointerException
name
- the name of the property to set.
value
- the value to the property.
null
(although the value of the property may be
null
).
NullPointerException
- if
name
is
null
.
protected abstract PropertyCollection getPropertyCollectionFromStore()
protected abstract Property deletePropertyInStore(String name)
name
- the name of the property to delete.
protected abstract Property getPropertyFromStore(String name)
name
- the name of the property to fetch.
null
(although the value of the property may be
null
).
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |