Module org.refcodes.properties
Package org.refcodes.properties
Class AbstractResourcePropertiesDecorator<T extends ResourceProperties>
java.lang.Object
org.refcodes.properties.AbstractPropertiesDecorator<T>
org.refcodes.properties.AbstractResourcePropertiesDecorator<T>
- Type Parameters:
T- The actual (sub-) type of thePropertiesto be decorated.
- All Implemented Interfaces:
org.refcodes.mixin.AnnotatorAccessor,org.refcodes.mixin.DelimiterAccessor,org.refcodes.mixin.Dumpable,org.refcodes.mixin.EmptyAccessor,org.refcodes.mixin.TypeAccessor<String>,Properties,ResourceProperties,org.refcodes.struct.CanonicalMap,org.refcodes.struct.Containable,org.refcodes.struct.InterOperableMap<String>,org.refcodes.struct.Keys<String,,String> org.refcodes.struct.PathMap<String>,org.refcodes.struct.Table<String,String>
- Direct Known Subclasses:
PolyglotProperties,ScheduledResourcePropertiesDecorator
public abstract class AbstractResourcePropertiesDecorator<T extends ResourceProperties>
extends AbstractPropertiesDecorator<T>
implements ResourceProperties
Decorates the provided
ResourceProperties and delegates method calls
to them ResourceProperties.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.mixin.AnnotatorAccessor
org.refcodes.mixin.AnnotatorAccessor.AnnotatorBuilder<B extends org.refcodes.mixin.AnnotatorAccessor.AnnotatorBuilder<B>>, org.refcodes.mixin.AnnotatorAccessor.AnnotatorMutator, org.refcodes.mixin.AnnotatorAccessor.AnnotatorPropertyNested classes/interfaces inherited from interface org.refcodes.struct.CanonicalMap
org.refcodes.struct.CanonicalMap.CanonicalMapBuilder, org.refcodes.struct.CanonicalMap.MutableCanonicalMapNested classes/interfaces inherited from interface org.refcodes.mixin.DelimiterAccessor
org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B extends org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B>>, org.refcodes.mixin.DelimiterAccessor.DelimiterMutator, org.refcodes.mixin.DelimiterAccessor.DelimiterPropertyNested classes/interfaces inherited from interface org.refcodes.mixin.EmptyAccessor
org.refcodes.mixin.EmptyAccessor.EmptyMutator, org.refcodes.mixin.EmptyAccessor.EmptyPropertyNested classes/interfaces inherited from interface org.refcodes.struct.InterOperableMap
org.refcodes.struct.InterOperableMap.InterOperableMapBuilder<T extends Object>, org.refcodes.struct.InterOperableMap.MutableInterOperableMap<T extends Object>Nested classes/interfaces inherited from interface org.refcodes.struct.Keys
org.refcodes.struct.Keys.MutableKeys<K extends Object,V extends Object>, org.refcodes.struct.Keys.MutableValues<K extends Object, V extends Object> Nested classes/interfaces inherited from interface org.refcodes.struct.PathMap
org.refcodes.struct.PathMap.MutablePathMap<T extends Object>, org.refcodes.struct.PathMap.PathMapBuilder<T extends Object>Nested classes/interfaces inherited from interface org.refcodes.properties.Properties
Properties.MutableProperties, Properties.PropertiesBuilderNested classes/interfaces inherited from interface org.refcodes.properties.ResourceProperties
ResourceProperties.MutableResoureProperties, ResourceProperties.ResourcePropertiesBuilderNested classes/interfaces inherited from interface org.refcodes.struct.Table
org.refcodes.struct.Table.TableDictionary<K extends Object,V extends Object> Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor
org.refcodes.mixin.TypeAccessor.TypeBuilder<T extends Object,B extends org.refcodes.mixin.TypeAccessor.TypeBuilder<T, B>>, org.refcodes.mixin.TypeAccessor.TypeMutator<T extends Object>, org.refcodes.mixin.TypeAccessor.TypeProperty<T extends Object> -
Field Summary
Fields inherited from interface org.refcodes.struct.PathMap
ANNOTATOR, DELIMITERFields inherited from interface org.refcodes.properties.Properties
DEFAULT_COMMENT -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMake sure to set the getProperties() member variable!AbstractResourcePropertiesDecorator(T aProperties) Decorates the providedResourcePropertieswith additional behavior or functionality. -
Method Summary
Modifier and TypeMethodDescriptionreload()Reloads theResourcePropertiesfrom the resource to which theResourcePropertiesare attached to (such as aFileas ofResourceProperties.MutableResoureProperties.loadFrom(File)orResourceProperties.MutableResoureProperties.saveTo(File)).reload(ReloadMode aReloadMode) Reloads theResourcePropertiesfrom the resource to which theResourcePropertiesare attached to (such as aFileas ofResourceProperties.MutableResoureProperties.loadFrom(File)orResourceProperties.MutableResoureProperties.saveTo(File)).Produces the external representation of the properties as of the serialized format supported by the implementing class.toSerialized(String aComment, char aDelimiter) Produces the external representation of the properties as of the serialized format supported by the implementing class.Methods inherited from class org.refcodes.properties.AbstractPropertiesDecorator
containsKey, get, getAnnotator, getDelimiter, getProperties, isEmpty, keySet, retrieveFrom, retrieveTo, setProperties, size, toDataStructure, toDump, toDump, toPrintable, valuesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.refcodes.struct.CanonicalMap
asArray, asArray, asArray, asArray, asBooleanArray, asBooleanArray, asBooleanArray, asBooleanArray, asByteArray, asByteArray, asByteArray, asByteArray, asCharArray, asCharArray, asCharArray, asCharArray, asDoubleArray, asDoubleArray, asDoubleArray, asDoubleArray, asFloatArray, asFloatArray, asFloatArray, asFloatArray, asIntArray, asIntArray, asIntArray, asIntArray, asLongArray, asLongArray, asLongArray, asLongArray, asShortArray, asShortArray, asShortArray, asShortArray, queryBetween, toMap, toPropertiesMethods inherited from interface org.refcodes.struct.Containable
sizeMethods inherited from interface org.refcodes.mixin.Dumpable
toDump, toDumpMethods inherited from interface org.refcodes.mixin.EmptyAccessor
isEmptyMethods inherited from interface org.refcodes.struct.InterOperableMap
getBoolean, getBoolean, getBoolean, getBoolean, getBoolean, getBooleanOr, getBooleanOr, getBooleanOr, getBooleanOr, getBooleanOr, getByte, getByte, getByte, getByte, getByte, getByteOr, getByteOr, getByteOr, getByteOr, getByteOr, getChar, getChar, getChar, getChar, getChar, getCharOr, getCharOr, getCharOr, getCharOr, getCharOr, getClass, getClass, getClass, getClass, getClass, getClassOr, getClassOr, getClassOr, getClassOr, getClassOr, getDouble, getDouble, getDouble, getDouble, getDouble, getDoubleOr, getDoubleOr, getDoubleOr, getDoubleOr, getDoubleOr, getEnum, getEnum, getEnum, getEnum, getEnum, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getFloat, getFloat, getFloat, getFloat, getFloat, getFloatOr, getFloatOr, getFloatOr, getFloatOr, getFloatOr, getInt, getInt, getInt, getInt, getInt, getIntOr, getIntOr, getIntOr, getIntOr, getIntOr, getLong, getLong, getLong, getLong, getLong, getLongOr, getLongOr, getLongOr, getLongOr, getLongOr, getShort, getShort, getShort, getShort, getShort, getShortOr, getShortOr, getShortOr, getShortOr, getShortOr, getString, getString, getString, getString, getString, getStringOr, getStringOr, getStringOr, getStringOr, getStringOrMethods inherited from interface org.refcodes.struct.Keys
containsKey, get, getOr, keySet, use, valuesMethods inherited from interface org.refcodes.struct.PathMap
children, children, children, children, children, children, containsKey, containsKey, containsKey, dirs, dirs, dirs, dirs, dirs, dirs, findPaths, fromExternalPath, get, get, get, getArray, getArray, getArray, getArray, getArray, getArray, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayOr, getArrayOr, getArrayOr, getArrayOr, getArrayOr, getArrayOr, getDirIndexes, getDirIndexes, getDirIndexes, getDirIndexes, getDirIndexes, getDirIndexes, getRootPath, getValueAt, getValueAt, getValueAt, getValueAt, getValueAt, getValueAt, hasChildren, hasChildren, hasChildren, hasChildren, hasChildren, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasParentPath, hasPath, hasPath, hasPath, hasPath, hasPath, hasSubDirs, hasSubDirs, hasSubDirs, hasSubDirs, hasValue, hasValue, hasValue, hasValue, hasValue, hasValueAt, hasValueAt, hasValueAt, hasValueAt, hasValueAt, hasValueAt, hasValueAt, hasValueAt, isArray, isArray, isArray, isArray, isArray, isArray, isChild, isChild, isChild, isChild, isDir, isDir, isDir, isDir, isDir, isEqualTo, isIndexDir, isIndexDir, isIndexDir, isIndexDir, isIndexDir, isLeaf, isLeaf, isLeaf, isLeaf, isLeaf, isRootPath, keySet, keySet, keySet, keySet, keySet, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastDirIndex, lastDirIndex, lastDirIndex, lastDirIndex, lastDirIndex, lastDirIndex, leaves, leaves, leaves, leaves, leaves, leaves, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextDirIndex, nextDirIndex, nextDirIndex, nextDirIndex, nextDirIndex, nextDirIndex, paths, paths, paths, paths, paths, paths, queryPaths, queryPaths, queryPaths, queryPaths, queryPaths, queryPaths, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, toDataStructure, toDataStructure, toExternalPath, toInstance, toInstance, toLeaf, toMap, toNormalizedPath, toParentPath, toPath, toPath, toPath, toPath, toPathElements, toPathList, toPathStack, toPrintable, toPropertyPath, toType, toType, toType, toType, toType, toType, toType, toTypeMethods inherited from interface org.refcodes.properties.Properties
containsValue, getAnnotator, getDelimiter, getDir, getDir, getDir, getDir, getDir, getDirAt, getDirAt, getDirAt, getDirAt, getDirAt, getDirAt, getDirs, getDirs, getDirs, getDirs, getDirs, getType, query, query, query, query, query, queryBetween, queryBetween, queryBetween, queryBetween, queryBetween, queryFrom, queryFrom, queryFrom, queryFrom, queryFrom, queryFrom, queryTo, queryTo, queryTo, queryTo, queryTo, queryTo, retrieveBetween, retrieveBetween, retrieveBetween, retrieveBetween, retrieveBetween, retrieveFrom, retrieveFrom, retrieveFrom, retrieveFrom, retrieveFrom, retrieveTo, retrieveTo, retrieveTo, retrieveTo, retrieveToMethods inherited from interface org.refcodes.properties.ResourceProperties
toSerialized, toSerialized
-
Constructor Details
-
AbstractResourcePropertiesDecorator
protected AbstractResourcePropertiesDecorator()Make sure to set the getProperties() member variable! -
AbstractResourcePropertiesDecorator
Decorates the providedResourcePropertieswith additional behavior or functionality. Changes applied to the providedResourcePropertiesaffect the decorator.- Parameters:
aProperties- TheResourcePropertiesto be decorated.
-
-
Method Details
-
reload
Reloads theResourcePropertiesfrom the resource to which theResourcePropertiesare attached to (such as aFileas ofResourceProperties.MutableResoureProperties.loadFrom(File)orResourceProperties.MutableResoureProperties.saveTo(File)). In case the resource (such as anInputStream) does not support reloading, then anIllegalStateExceptionis thrown. Properties existing in the attached resource as well in thePropertiesitself are replaced. Properties existing in the attached resource but not(!) in thePropertiesitself are not(!) removed. UseResourceProperties.reload(ReloadMode)with an argument oftrue(~ orphan removal) to remove properties not existing in the resource.- Specified by:
reloadin interfaceResourceProperties- Returns:
- The
Propertiesas loaded from the resource and applied to this instance. - Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
reload
Reloads theResourcePropertiesfrom the resource to which theResourcePropertiesare attached to (such as aFileas ofResourceProperties.MutableResoureProperties.loadFrom(File)orResourceProperties.MutableResoureProperties.saveTo(File)). In case the resource (such as anInputStream) does not support reloading, then anIllegalStateExceptionis thrown. Properties existing in the attached resource as well in thePropertiesitself are replaced. When "orphan removal" is set tofalse, then properties existing in the attached resource but not(!) in thePropertiesitself are not(!) removed. When "orphan removal" is set totrue, then properties existing in the attached resource but not(!) in thePropertiesitself are(!) removed.- Specified by:
reloadin interfaceResourceProperties- Parameters:
aReloadMode- when set toReloadMode.ORPHAN_REMOVAL, then properties existing in the attached resource but not(!) in thePropertiesitself are(!) removed. Else properties not existing in the attached resource are kept.- Returns:
- The
Propertiesas loaded from the resource and applied to this instance. - Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
toSerialized
Produces the external representation of the properties as of the serialized format supported by the implementing class.- Specified by:
toSerializedin interfaceResourceProperties- Returns:
- The external (serialized) representation of the properties.
-
toSerialized
Produces the external representation of the properties as of the serialized format supported by the implementing class.- Specified by:
toSerializedin interfaceResourceProperties- Parameters:
aComment- The comment to be used.aDelimiter- The path delimiter to be used when serializing the properties (in case the the serialized format supports / requires the such).- Returns:
- The external (serialized) representation of the properties.
-