Module org.refcodes.properties
Package org.refcodes.properties
Class ScheduledResourcePropertiesDecorator
java.lang.Object
org.refcodes.properties.AbstractPropertiesDecorator<T>
org.refcodes.properties.AbstractResourcePropertiesDecorator<ResourceProperties>
org.refcodes.properties.ScheduledResourcePropertiesDecorator
- All Implemented Interfaces:
org.refcodes.component.Startable,org.refcodes.component.Stoppable,org.refcodes.mixin.AnnotatorAccessor,org.refcodes.mixin.DelimiterAccessor,org.refcodes.mixin.Disposable,org.refcodes.mixin.Dumpable,org.refcodes.mixin.EmptyAccessor,org.refcodes.mixin.TypeAccessor<String>,Properties,ResourceProperties,ScheduledResourceProperties,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>
public class ScheduledResourcePropertiesDecorator
extends AbstractResourcePropertiesDecorator<ResourceProperties>
implements ScheduledResourceProperties
The
ScheduledResourcePropertiesDecorator decorates
ResourceProperties from which the properties are to be reloaded
periodically via AbstractResourcePropertiesDecorator.reload(ReloadMode). Depending on the invoked
constructor, you can define whether orphan removal (see
AbstractResourcePropertiesDecorator.reload(ReloadMode)) is to be taken care of and the poll loop time,
e.g. in which time interval the properties are to be reloaded.-
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.properties.ScheduledResourceProperties
ScheduledResourceProperties.ScheduledMuableResourceProperties, ScheduledResourceProperties.ScheduledResourcePropertiesBuilderNested classes/interfaces inherited from interface org.refcodes.component.Startable
org.refcodes.component.Startable.StartAutomaton, org.refcodes.component.Startable.StartBuilder<B extends org.refcodes.component.Startable.StartBuilder<B>>, org.refcodes.component.Startable.UncheckedStartableNested classes/interfaces inherited from interface org.refcodes.component.Stoppable
org.refcodes.component.Stoppable.StopAutomaton, org.refcodes.component.Stoppable.StopBuilder<B extends org.refcodes.component.Stoppable.StopBuilder<B>>, org.refcodes.component.Stoppable.UncheckedStoppableNested 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
ConstructorsConstructorDescriptionScheduledResourcePropertiesDecorator(ResourceProperties aProperties) Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith default settings being a poll loop time of 10 seconds (as ofIoPollLoopTime.NORMand orphan removal (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called withtrue).ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, int aScheduleTimeMillis) Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the given poll loop time and orphan removal (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called withtrue).ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, int aScheduleTimeMillis, org.refcodes.controlflow.ThreadMode aThreadMode) Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the given poll loop time and orphan removal (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called withtrue).ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, int aScheduleTimeMillis, ReloadMode aReloadMode) Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the given poll loop time and the given orphan removal strategy (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called with your argument).ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, int aScheduleTimeMillis, ReloadMode aReloadMode, org.refcodes.controlflow.ThreadMode aThreadMode) Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the given poll loop time and the given orphan removal strategy (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called with your argument).ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, org.refcodes.controlflow.ThreadMode aThreadMode) Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith default settings being a poll loop time of 10 seconds (as ofIoPollLoopTime.NORMand orphan removal (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called withtrue).ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, ReloadMode aReloadMode) Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the the default poll loop time of 10 seconds (as ofIoPollLoopTime.NORMand the given orphan removal strategy (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called with your argument).ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, ReloadMode aReloadMode, org.refcodes.controlflow.ThreadMode aThreadMode) Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the the default poll loop time of 10 seconds (as ofIoPollLoopTime.NORMand the given orphan removal strategy (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called with your argument). -
Method Summary
Methods inherited from class org.refcodes.properties.AbstractResourcePropertiesDecorator
reload, reload, toSerialized, toSerializedMethods 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
reload, reload, toSerialized, toSerialized, toSerialized, toSerializedMethods inherited from interface org.refcodes.component.Startable
startUncheckedMethods inherited from interface org.refcodes.component.Stoppable
stopUnchecked
-
Constructor Details
-
ScheduledResourcePropertiesDecorator
public ScheduledResourcePropertiesDecorator(ResourceProperties aProperties) throws IOException, ParseException Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith default settings being a poll loop time of 10 seconds (as ofIoPollLoopTime.NORMand orphan removal (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called withtrue). The schedulingThreadis started as daemon thread (seeThreadMode.DAEMON). Immediately starts polling after construction of this instance for new properties.- Parameters:
aProperties- The properties from which the properties are to be reloaded periodically.- Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.IllegalStateException- in case the attached resource does not support reloading.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
ScheduledResourcePropertiesDecorator
public ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, int aScheduleTimeMillis) throws IOException, ParseException Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the given poll loop time and orphan removal (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called withtrue). The schedulingThreadis started as daemon thread (seeThreadMode.DAEMON). Immediately starts polling after construction of this instance for new properties.- Parameters:
aProperties- The properties from which the properties are to be reloaded periodically.aScheduleTimeMillis- The time in milliseconds between polling for new properties.- Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.IllegalStateException- in case the attached resource does not support reloading.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
ScheduledResourcePropertiesDecorator
public ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, ReloadMode aReloadMode) throws IOException, ParseException Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the the default poll loop time of 10 seconds (as ofIoPollLoopTime.NORMand the given orphan removal strategy (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called with your argument). The schedulingThreadis started as daemon thread (seeThreadMode.DAEMON). Immediately starts polling after construction of this instance for new properties.- Parameters:
aProperties- The properties from which the properties are to be reloaded periodically.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.- Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.IllegalStateException- in case the attached resource does not support reloading.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
ScheduledResourcePropertiesDecorator
public ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, int aScheduleTimeMillis, ReloadMode aReloadMode) throws IOException, ParseException Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the given poll loop time and the given orphan removal strategy (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called with your argument). The schedulingThreadis started as daemon thread (seeThreadMode.DAEMON). Immediately starts polling after construction of this instance for new properties.- Parameters:
aProperties- The properties from which the properties are to be reloaded periodically.aScheduleTimeMillis- The time in milliseconds between polling for new properties.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.- Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.IllegalStateException- in case the attached resource does not support reloading.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
ScheduledResourcePropertiesDecorator
public ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, org.refcodes.controlflow.ThreadMode aThreadMode) throws IOException, ParseException Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith default settings being a poll loop time of 10 seconds (as ofIoPollLoopTime.NORMand orphan removal (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called withtrue). Immediately starts polling after construction of this instance for new properties.- Parameters:
aProperties- The properties from which the properties are to be reloaded periodically.aThreadMode- TheThreadModemode of operation regarding theThreaddoing the scheduling job.- Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.IllegalStateException- in case the attached resource does not support reloading.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
ScheduledResourcePropertiesDecorator
public ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, int aScheduleTimeMillis, org.refcodes.controlflow.ThreadMode aThreadMode) throws IOException, ParseException Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the given poll loop time and orphan removal (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called withtrue). Immediately starts polling after construction of this instance for new properties.- Parameters:
aProperties- The properties from which the properties are to be reloaded periodically.aScheduleTimeMillis- The time in milliseconds between polling for new properties.aThreadMode- TheThreadModemode of operation regarding theThreaddoing the scheduling job.- Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.IllegalStateException- in case the attached resource does not support reloading.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
ScheduledResourcePropertiesDecorator
public ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, ReloadMode aReloadMode, org.refcodes.controlflow.ThreadMode aThreadMode) throws IOException, ParseException Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the the default poll loop time of 10 seconds (as ofIoPollLoopTime.NORMand the given orphan removal strategy (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called with your argument). Immediately starts polling after construction of this instance for new properties.- Parameters:
aProperties- The properties from which the properties are to be reloaded periodically.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.aThreadMode- TheThreadModemode of operation regarding theThreaddoing the scheduling job.- Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.IllegalStateException- in case the attached resource does not support reloading.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
ScheduledResourcePropertiesDecorator
public ScheduledResourcePropertiesDecorator(ResourceProperties aProperties, int aScheduleTimeMillis, ReloadMode aReloadMode, org.refcodes.controlflow.ThreadMode aThreadMode) throws IOException, ParseException Constructs theScheduledResourcePropertiesDecoratorwrapping the givenResourcePropertieswith setting the given poll loop time and the given orphan removal strategy (as ofAbstractResourcePropertiesDecorator.reload(ReloadMode)being called with your argument). Immediately starts polling after construction of this instance for new properties.- Parameters:
aProperties- The properties from which the properties are to be reloaded periodically.aScheduleTimeMillis- The time in milliseconds between polling for new properties.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.aThreadMode- TheThreadModemode of operation regarding theThreaddoing the scheduling job.- Throws:
IOException- thrown in case accessing the resource encountered an I/O problem.IllegalStateException- in case the attached resource does not support reloading.ParseException- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
-
Method Details
-
start
public void start() throws org.refcodes.component.StartException- Specified by:
startin interfaceorg.refcodes.component.Startable- Throws:
org.refcodes.component.StartException
-
stop
public void stop() throws org.refcodes.component.StopException- Specified by:
stopin interfaceorg.refcodes.component.Stoppable- Throws:
org.refcodes.component.StopException
-
dispose
public void dispose()- Specified by:
disposein interfaceorg.refcodes.mixin.Disposable
-