|
||||||||||
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.ConfigurationPropertiesManagementWithDefaults
public final class ConfigurationPropertiesManagementWithDefaults
A configuration properties instance that contains the main configuration properties, which matches the key, and all the defaults that have a partial representation of the key.
This implementation is thread-safe as long as the passed in instances of ConfigurationPropertiesManagement
are thread-safe.
Constructor Summary | |
---|---|
ConfigurationPropertiesManagementWithDefaults(List<ConfigurationPropertiesManagement> configurationProperties) Default constructor. |
Method Summary | |
---|---|
ConfigurationPropertiesManagement |
addDefinitions(PropertyProvider 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. |
DescribedProperty |
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. |
DescribedProperty |
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. |
Object |
getPropertyAsType(PropertyDescriptor descriptor) Returns the yet not validated property for the given descriptor's key. |
PropertyStoreAccessor |
getPropertyStoreAccessor() Provides direct access to the properties in the underlying store. |
ValidatedProperty |
getValidatedProperty(PropertyDescriptor descriptor, Object defaultValue) Returns the validated 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. |
boolean |
isInAdminMode() Checks whether or not this configuration is in administration mode. |
Property |
setProperty(PropertyKey key, String value) Sets the property value for the given key. |
void |
setToAdminMode(boolean newMode) Sets the administration mode for this configuration. |
ConfigurationPropertiesManagement |
toRepresentative() Creates an representative of this configuration. |
SerializableConfigurationPropertiesManagement |
toSerializable() Creates a serializable variant of this implementation. |
String |
toString() Returns the string representation of the object. |
Property |
unsetProperty(PropertyKey key) Unsets the property value for the given key. |
void |
validate(boolean lenient, Class<?>... groups) Validates all properties in the given configuration. |
void |
validate(PropertyDescriptor descriptor, Class<?>... groups) Validates the given property in the given configuration. |
void |
validate(PropertyDescriptor descriptor, String value, Class<?>... groups) Validates the given property 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 |
---|
getPropertyValueSecurity, getRegistry |
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, getValidatedProperty, getValidatedProperty, removePropertyChangeListener, removePropertyChangeListener, validate, validate |
Constructor Detail |
---|
public ConfigurationPropertiesManagementWithDefaults(List<ConfigurationPropertiesManagement> configurationProperties) throws IllegalArgumentException
configurationProperties
- the list of configuration properties to consult on requests.
IllegalArgumentException
- if
configurationProperties
is
null
or empty.
Method Detail |
---|
public boolean isInAdminMode()
ConfigurationProperties
isInAdminMode
in interface
ConfigurationProperties
true
if the configuration is in administration mode,
false
otherwise.
public void setToAdminMode(boolean newMode)
ConfigurationPropertiesManagement
setToAdminMode
in interface
ConfigurationPropertiesManagement
newMode
- the new value of the mode
true
if the configuration is to be set in administration mode,
false
if not.
ConfigurationProperties.isInAdminMode()
public PropertyStoreAccessor getPropertyStoreAccessor()
ConfigurationPropertiesManagement
getPropertyStoreAccessor
in interface
ConfigurationPropertiesManagement
public DescribedProperty 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 DescribedProperty 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 Object getPropertyAsType(PropertyDescriptor descriptor) throws IllegalArgumentException, UnknownPropertyException, PropertyValueConversionException, SecurityException, PropertyRootException
ConfigurationProperties
getPropertyAsType
in interface
ConfigurationProperties
descriptor
- descriptor key to the property.
null
if the property's value is actually unset.
IllegalArgumentException
- if
descriptor
is blank.
UnknownPropertyException
- if
descriptor
is not known.
PropertyValueConversionException
- if the property cannot be converted to its value.
SecurityException
- on any problem decrypting an encrypted value.
PropertyRootException
- on any problem.
public ValidatedProperty getValidatedProperty(PropertyDescriptor descriptor, Object defaultValue) throws IllegalArgumentException, UnknownPropertyException, PropertyValidationException, SecurityException
ConfigurationProperties
getValidatedProperty
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 / validated value of the returned property may be
null
.
IllegalArgumentException
- if
descriptor
is blank.
UnknownPropertyException
- if
descriptor
is not known.
PropertyValidationException
- if the property is invalid according to its constraints.
SecurityException
- on any problem decrypting an encrypted value.
public void validate(boolean lenient, Class<?>... groups) 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.
groups
- the validation groups to consider in the validation process. The groups will be validated in the given order. As soon as a validation group fails, the validation process is aborted without checking the not yet processed groups.
ConfigurationValidationException
- if the configuration contains properties that do not meet the required constraints.
public void validate(PropertyDescriptor descriptor, Class<?>... groups) throws ConfigurationValidationException
ConfigurationProperties
validate
in interface
ConfigurationProperties
descriptor
- the descriptor whose value is to be validated.
groups
- the validation only takes place if this constraint is part of any of the specified groups or the argument is empty or
null
.
ConfigurationValidationException
- if property does not meet the required constraints.
public void validate(PropertyDescriptor descriptor, String value, Class<?>... groups) throws ConfigurationValidationException
ConfigurationProperties
validate
in interface
ConfigurationProperties
descriptor
- the descriptor whose value is to be validated.
value
- the property value to be validated.
groups
- the validation only takes place if this constraint is part of any of the specified groups or the argument is empty or
null
.
ConfigurationValidationException
- if property does not meet the required constraints.
public void flush()
ConfigurationPropertiesManagement
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.
flush
in interface
ConfigurationPropertiesManagement
public ConfigurationPropertiesManagement toRepresentative()
ConfigurationProperties
toRepresentative
in interface
ConfigurationProperties
toRepresentative
in interface
ConfigurationPropertiesManagement
toRepresentative
in class
AbstractConfigurationProperties
public SerializableConfigurationPropertiesManagement toSerializable()
ConfigurationProperties
toSerializable
in interface
ConfigurationProperties
toSerializable
in interface
ConfigurationPropertiesManagement
ConfigurationPropertiesProxy
,
ConfigurationPropertiesManagementProxy
public ConfigurationPropertiesManagement addDefinitions(PropertyProvider properties) throws NullPointerException
ConfigurationPropertiesManagement
addDefinitions
in interface
ConfigurationPropertiesManagement
properties
- the property definitions to add.
NullPointerException
- if
properties
is
null
.
public Property setProperty(PropertyKey key, String value) throws NullPointerException, PropertyValidationException, ReadOnlyPropertyException
This method sets the property in the most defining representative. If the client wants to change a value in a specific defaulting representation by its configuration key, the client has to access this particular instance and set it manually.
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 Property unsetProperty(PropertyKey key) throws NullPointerException, ReadOnlyPropertyException
This method unsets the property in the most defining representative. If the client wants to change a value in a specific defaulting representation by its configuration key, the client has to access this particular instance and unset it manually.
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 void addDescriptors(Class<?> declaringType) throws DuplicatePropertyDeclarationsException
ConfigurationPropertiesManagement
addDescriptors
in interface
ConfigurationPropertiesManagement
declaringType
- the type that declares the descriptors.
DuplicatePropertyDeclarationsException
- if any of the descriptors declare the same property.
public 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 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 List<PropertyDescriptor> getMandatoryPropertyDescriptors()
ConfigurationPropertiesManagement
Returns a copy that can be edited.
getMandatoryPropertyDescriptors
in interface
ConfigurationPropertiesManagement
public String toString()
toString
in class
AbstractConfigurationProperties
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |