Module org.refcodes.properties
Package org.refcodes.properties
Class AbstractResourcePropertiesBuilderDecorator<T extends ResourceProperties.ResourcePropertiesBuilder>
java.lang.Object
org.refcodes.properties.AbstractPropertiesDecorator<T>
org.refcodes.properties.AbstractPropertiesBuilderDecorator<T>
org.refcodes.properties.AbstractResourcePropertiesBuilderDecorator<T>
- All Implemented Interfaces:
Flushable
,Map<String,
,String> org.refcodes.component.Flushable
,org.refcodes.component.Flushable.FlushBuilder<ResourceProperties.ResourcePropertiesBuilder>
,org.refcodes.mixin.AnnotatorAccessor
,org.refcodes.mixin.Clearable
,org.refcodes.mixin.DelimiterAccessor
,org.refcodes.mixin.Dumpable
,org.refcodes.mixin.EmptyAccessor
,org.refcodes.mixin.TypeAccessor<String>
,Properties
,Properties.MutableProperties
,Properties.PropertiesBuilder
,ResourceProperties
,ResourceProperties.MutableResoureProperties
,ResourceProperties.ResourcePropertiesBuilder
,org.refcodes.struct.CanonicalMap
,org.refcodes.struct.CanonicalMap.CanonicalMapBuilder
,org.refcodes.struct.CanonicalMap.MutableCanonicalMap
,org.refcodes.struct.Containable
,org.refcodes.struct.Dictionary<String,
,String> org.refcodes.struct.Dictionary.MutableDictionary<String,
,String> org.refcodes.struct.Dictionary.MutableDictionary.DictionaryBuilder<String,
,String, org.refcodes.struct.PathMap.PathMapBuilder<String>> org.refcodes.struct.InterOperableMap<String>
,org.refcodes.struct.InterOperableMap.InterOperableMapBuilder<String>
,org.refcodes.struct.InterOperableMap.MutableInterOperableMap<String>
,org.refcodes.struct.Keys<String,
,String> org.refcodes.struct.Keys.MutableKeys<String,
,String> org.refcodes.struct.Keys.MutableValues<String,
,String> org.refcodes.struct.PathMap<String>
,org.refcodes.struct.PathMap.MutablePathMap<String>
,org.refcodes.struct.PathMap.PathMapBuilder<String>
- Direct Known Subclasses:
PolyglotPropertiesBuilder
,ScheduledResourcePropertiesBuilderDecorator
public class AbstractResourcePropertiesBuilderDecorator<T extends ResourceProperties.ResourcePropertiesBuilder>
extends AbstractPropertiesBuilderDecorator<T>
implements ResourceProperties.ResourcePropertiesBuilder
-
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.AnnotatorProperty
Nested classes/interfaces inherited from interface org.refcodes.struct.CanonicalMap
org.refcodes.struct.CanonicalMap.CanonicalMapBuilder, org.refcodes.struct.CanonicalMap.MutableCanonicalMap
Nested 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.DelimiterProperty
Nested classes/interfaces inherited from interface org.refcodes.struct.Dictionary
org.refcodes.struct.Dictionary.MutableDictionary<K extends Object,
V extends Object> Nested classes/interfaces inherited from interface org.refcodes.struct.Dictionary.MutableDictionary
org.refcodes.struct.Dictionary.MutableDictionary.DictionaryBuilder<K extends Object,
V extends Object, B extends org.refcodes.struct.Dictionary.MutableDictionary.DictionaryBuilder<K, V, B>> Nested classes/interfaces inherited from interface org.refcodes.mixin.EmptyAccessor
org.refcodes.mixin.EmptyAccessor.EmptyMutator, org.refcodes.mixin.EmptyAccessor.EmptyProperty
Nested classes/interfaces inherited from interface org.refcodes.component.Flushable
org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>
Nested 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 java.util.Map
Map.Entry<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.PropertiesBuilder
Nested classes/interfaces inherited from interface org.refcodes.properties.ResourceProperties
ResourceProperties.MutableResoureProperties, ResourceProperties.ResourcePropertiesBuilder
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, DELIMITER
Fields inherited from interface org.refcodes.properties.Properties
DEFAULT_COMMENT
Fields inherited from interface org.refcodes.properties.ResourceProperties.MutableResoureProperties
DEFAULT_COMMENT
-
Constructor Summary
ModifierConstructorDescriptionprotected
Make sure to set the getProperties() member variable!AbstractResourcePropertiesBuilderDecorator
(T aProperties) Decorates the providedResourceProperties.ResourcePropertiesBuilder
with additional behavior or functionality. -
Method Summary
Modifier and TypeMethodDescriptionvoid
flush()
FlushesResourceProperties.MutableResoureProperties
to the resource to which theResourceProperties
are attached to (such as aFile
as ofResourceProperties.MutableResoureProperties.loadFrom(File)
orResourceProperties.MutableResoureProperties.saveTo(File)
).boolean
Loads the properties from the givenFile
.loadFrom
(InputStream aInputStream, char... aDelimiters) Loads the properties from the givenInputStream
.reload()
Reloads theResourceProperties
from the resource to which theResourceProperties
are attached to (such as aFile
as ofResourceProperties.MutableResoureProperties.loadFrom(File)
orResourceProperties.MutableResoureProperties.saveTo(File)
).reload
(ReloadMode aReloadMode) Reloads theResourceProperties
from the resource to which theResourceProperties
are attached to (such as aFile
as ofResourceProperties.MutableResoureProperties.loadFrom(File)
orResourceProperties.MutableResoureProperties.saveTo(File)
).Saves the properties to the givenFile
using the provided delimiter as the destination's path delimiter.void
saveTo
(OutputStream aOutputStream, String aComment, char aDelimiter) Saves the properties to the givenOutputStream
using the provided delimiter as the destination's path delimiter.seekFrom
(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, char... aDelimiters) Loads a properties file from the file path directly or (if not found) from the first folder containing such a file as of theConfigLocator
configuration passed.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.AbstractPropertiesBuilderDecorator
clear, containsValue, entrySet, insert, insertBetween, insertFrom, insertTo, merge, mergeBetween, mergeFrom, mergeTo, put, putAll, remove
Methods inherited from class org.refcodes.properties.AbstractPropertiesDecorator
containsKey, get, getAnnotator, getDelimiter, getProperties, isEmpty, keySet, retrieveFrom, retrieveTo, setProperties, size, toDataStructure, toDump, toDump, toPrintable, values
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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, toProperties
Methods inherited from interface org.refcodes.struct.CanonicalMap.MutableCanonicalMap
containsValue, insert, insertBetween, insertFrom, insertTo, put, put, put, put, putAll, removeFrom, toDump
Methods inherited from interface org.refcodes.mixin.Clearable
clear
Methods inherited from interface org.refcodes.struct.Containable
size
Methods inherited from interface org.refcodes.mixin.Dumpable
toDump
Methods inherited from interface org.refcodes.mixin.EmptyAccessor
isEmpty
Methods inherited from interface org.refcodes.component.Flushable
flushUnchecked
Methods inherited from interface org.refcodes.component.Flushable.FlushBuilder
withFlush, withFlushUnchecked
Methods 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, getStringOr
Methods inherited from interface org.refcodes.struct.InterOperableMap.MutableInterOperableMap
containsValue, insert, insertBetween, insertFrom, insertTo, putBoolean, putBoolean, putBoolean, putBoolean, putBoolean, putByte, putByte, putByte, putByte, putByte, putChar, putChar, putChar, putChar, putChar, putClass, putClass, putClass, putClass, putClass, putDouble, putDouble, putDouble, putDouble, putDouble, putEnum, putEnum, putEnum, putEnum, putEnum, putFloat, putFloat, putFloat, putFloat, putFloat, putInt, putInt, putInt, putInt, putInt, putLong, putLong, putLong, putLong, putLong, putShort, putShort, putShort, putShort, putShort, putString, putString, putString, putString, putString
Methods inherited from interface org.refcodes.struct.Keys
containsKey, get, getOr, keySet, use, values
Methods inherited from interface org.refcodes.struct.Keys.MutableValues
put
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
Methods 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, toType
Methods inherited from interface org.refcodes.struct.PathMap.MutablePathMap
add, add, add, add, add, add, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendDirTo, appendValueTo, appendValueTo, appendValueTo, appendValueTo, appendValueTo, appendValueTo, delete, delete, delete, delete, delete, fromType, fromType, fromType, fromType, fromType, fromType, fromType, fromType, insert, insert, insertBetween, insertBetween, insertBetween, insertBetween, insertBetween, insertBetween, insertBetween, insertBetween, insertBetween, insertBetween, insertFrom, insertFrom, insertFrom, insertFrom, insertFrom, insertFrom, insertFrom, insertFrom, insertFrom, insertFrom, insertTo, insertTo, insertTo, insertTo, insertTo, insertTo, insertTo, insertTo, insertTo, insertTo, merge, merge, mergeBetween, mergeBetween, mergeBetween, mergeBetween, mergeBetween, mergeBetween, mergeBetween, mergeBetween, mergeBetween, mergeBetween, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeTo, mergeTo, mergeTo, mergeTo, mergeTo, mergeTo, mergeTo, mergeTo, mergeTo, mergeTo, put, putArray, putArray, putArray, putArray, putArray, putArray, putArray, putArray, putArray, putArray, putArray, putArray, putValueAt, putValueAt, putValueAt, putValueAt, putValueAt, putValueAt, remove, remove, remove, removeValueAt, removeValueAt, removeValueAt, removeValueAt, removeValueAt, toSourceCode, toSourceCode
Methods inherited from interface org.refcodes.properties.Properties
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, retrieveTo
Methods inherited from interface org.refcodes.properties.Properties.MutableProperties
containsValue, delete, insert, insertBetween, insertFrom, insertTo, put, putAll, putAll, putAll, putDirAt, putDirAt, putDirAt, putDirAt, putDirAt, putDirAt, putDirAt, putDirAt, putDirAt, putDirAt, putDirAt, putDirAt, removeAll, removeAll, removeAll, removeAll, removeAll, removeAll, removeDirAt, removeDirAt, removeDirAt, removeDirAt, removeDirAt, removeFrom, removeFrom, removeFrom, removeFrom, removePaths, removePaths
Methods inherited from interface org.refcodes.properties.ResourceProperties
toSerialized, toSerialized, toSerialized
Methods inherited from interface org.refcodes.properties.ResourceProperties.MutableResoureProperties
fileTo, fileTo, fileTo, fileTo, fileTo, fileTo, fileTo, fileTo, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, parseFrom, parseFrom, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom
Methods inherited from interface org.refcodes.properties.ResourceProperties.ResourcePropertiesBuilder
withInsert, withInsert, withInsertBetween, withInsertBetween, withInsertBetween, withInsertBetween, withInsertBetween, withInsertBetween, withInsertBetween, withInsertBetween, withInsertBetween, withInsertBetween, withInsertFrom, withInsertFrom, withInsertFrom, withInsertFrom, withInsertFrom, withInsertFrom, withInsertFrom, withInsertFrom, withInsertFrom, withInsertFrom, withInsertTo, withInsertTo, withInsertTo, withInsertTo, withInsertTo, withInsertTo, withInsertTo, withInsertTo, withInsertTo, withInsertTo, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withMerge, withMerge, withMergeBetween, withMergeBetween, withMergeBetween, withMergeBetween, withMergeBetween, withMergeBetween, withMergeBetween, withMergeBetween, withMergeBetween, withMergeBetween, withMergeFrom, withMergeFrom, withMergeFrom, withMergeFrom, withMergeFrom, withMergeFrom, withMergeFrom, withMergeFrom, withMergeFrom, withMergeFrom, withMergeTo, withMergeTo, withMergeTo, withMergeTo, withMergeTo, withMergeTo, withMergeTo, withMergeTo, withMergeTo, withMergeTo, withPut, withPut, withPut, withPut, withPut, withPut, withPutBoolean, withPutBoolean, withPutBoolean, withPutBoolean, withPutBoolean, withPutByte, withPutByte, withPutByte, withPutByte, withPutByte, withPutChar, withPutChar, withPutChar, withPutChar, withPutChar, withPutClass, withPutClass, withPutClass, withPutClass, withPutClass, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDirAt, withPutDouble, withPutDouble, withPutDouble, withPutDouble, withPutDouble, withPutEnum, withPutEnum, withPutEnum, withPutEnum, withPutEnum, withPutFloat, withPutFloat, withPutFloat, withPutFloat, withPutFloat, withPutInt, withPutInt, withPutInt, withPutInt, withPutInt, withPutLong, withPutLong, withPutLong, withPutLong, withPutLong, withPutShort, withPutShort, withPutShort, withPutShort, withPutShort, withPutString, withPutString, withPutString, withPutString, withPutString, withRemoveFrom, withRemoveFrom, withRemoveFrom, withRemoveFrom, withRemoveFrom, withRemovePaths, withSeekFrom, withSeekFrom, withSeekFrom, withSeekFrom, withSeekFrom, withSeekFrom, withSeekFrom
-
Constructor Details
-
AbstractResourcePropertiesBuilderDecorator
protected AbstractResourcePropertiesBuilderDecorator()Make sure to set the getProperties() member variable! -
AbstractResourcePropertiesBuilderDecorator
Decorates the providedResourceProperties.ResourcePropertiesBuilder
with additional behavior or functionality. Changes applied to the providedResourceProperties.ResourcePropertiesBuilder
affect the decorator.- Parameters:
aProperties
- TheResourceProperties
to be decorated.
-
-
Method Details
-
loadFrom
public Properties loadFrom(InputStream aInputStream, char... aDelimiters) throws IOException, ParseException Loads the properties from the givenInputStream
. Save them using the methodResourceProperties.MutableResoureProperties.saveTo(OutputStream)
. This is the hook-method of the default implementation for loading the properties. In case you want to implementResourceProperties
which support other notations than the properties notation (path=value
), then you overwrite this method in your implementation accordingly.- Specified by:
loadFrom
in interfaceResourceProperties.MutableResoureProperties
- Parameters:
aInputStream
- TheInputStream
from which to load the properties.aDelimiters
- The path delimiters to be used when parsing the source's properties (in case the the serialized format supports / requires the such).- Returns:
- The
Properties
as loaded from the resource and applied to this instance. - Throws:
IOException
- thrown in case loading the properties failedParseException
- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
seekFrom
public Properties seekFrom(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, char... aDelimiters) throws IOException, ParseException Loads a properties file from the file path directly or (if not found) from the first folder containing such a file as of theConfigLocator
configuration passed. Finally (if nothing else succeeds) the properties are loaded by the provided class's class loader which takes care of loading the properties (in case the file path is a relative path, also the absolute path with a prefixed path delimiter "/" is probed). The default implementation uses the hook methodResourceProperties.MutableResoureProperties.loadFrom(InputStream, char...)
to finally load and parse the properties.- Specified by:
seekFrom
in interfaceResourceProperties.MutableResoureProperties
- Parameters:
aResourceClass
- The class which's class loader is to take care of loading the properties (from inside a JAR).aFilePath
- The file path from which to load the properties.aConfigLocator
- TheConfigLocator
describes the locations to additional crawl for the desired file.aDelimiters
- The path delimiters to be used when parsing the source's properties (in case the the serialized format supports / requires the such).- Returns:
- The
Properties
as loaded from the resource and applied to this instance. - Throws:
IOException
- thrown in case accessing or processing the properties file failed.ParseException
- Signals that an error has been reached unexpectedly while parsing the data to be loaded.
-
saveTo
Saves the properties to the givenOutputStream
using the provided delimiter as the destination's path delimiter. Load them viaResourceProperties.MutableResoureProperties.loadFrom(InputStream, char...)
This is the hook-method of the default implementation for writing (saving) the properties. In case you want to implementResourceProperties
which support other notations than the properties notation (path=value
), then you overwrite this method in your implementation accordingly.- Specified by:
saveTo
in interfaceResourceProperties.MutableResoureProperties
- Parameters:
aOutputStream
- TheOutputStream
to which to save the properties to.aComment
- The description for the properties file.aDelimiter
- The path delimiter to be used when writing out the properties to the destination (in case the the serialized format supports / requires the such).- Throws:
IOException
- thrown in case saving the properties failed
-
reload
Reloads theResourceProperties
from the resource to which theResourceProperties
are attached to (such as aFile
as ofResourceProperties.MutableResoureProperties.loadFrom(File)
orResourceProperties.MutableResoureProperties.saveTo(File)
). In case the resource (such as anInputStream
) does not support reloading, then anIllegalStateException
is thrown. Properties existing in the attached resource as well in theProperties
itself are replaced. Properties existing in the attached resource but not(!) in theProperties
itself are not(!) removed. UseResourceProperties.reload(ReloadMode)
with an argument oftrue
(~ orphan removal) to remove properties not existing in the resource.- Specified by:
reload
in interfaceResourceProperties
- Returns:
- The
Properties
as 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 theResourceProperties
from the resource to which theResourceProperties
are attached to (such as aFile
as ofResourceProperties.MutableResoureProperties.loadFrom(File)
orResourceProperties.MutableResoureProperties.saveTo(File)
). In case the resource (such as anInputStream
) does not support reloading, then anIllegalStateException
is thrown. Properties existing in the attached resource as well in theProperties
itself are replaced. When "orphan removal" is set tofalse
, then properties existing in the attached resource but not(!) in theProperties
itself are not(!) removed. When "orphan removal" is set totrue
, then properties existing in the attached resource but not(!) in theProperties
itself are(!) removed.- Specified by:
reload
in interfaceResourceProperties
- Parameters:
aReloadMode
- when set toReloadMode.ORPHAN_REMOVAL
, then properties existing in the attached resource but not(!) in theProperties
itself are(!) removed. Else properties not existing in the attached resource are kept.- Returns:
- The
Properties
as 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.
-
flush
FlushesResourceProperties.MutableResoureProperties
to the resource to which theResourceProperties
are attached to (such as aFile
as ofResourceProperties.MutableResoureProperties.loadFrom(File)
orResourceProperties.MutableResoureProperties.saveTo(File)
).- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Specified by:
flush
in interfaceResourceProperties.MutableResoureProperties
- Throws:
IOException
-
isFlushable
public boolean isFlushable()- Specified by:
isFlushable
in interfaceorg.refcodes.component.Flushable
-
saveTo
Saves the properties to the givenFile
using the provided delimiter as the destination's path delimiter. Load them viaResourceProperties.MutableResoureProperties.loadFrom(File, char...)
. The default implementation uses the hook methodResourceProperties.MutableResoureProperties.saveTo(OutputStream, String, char)
to finally format and write the properties.- Specified by:
saveTo
in interfaceResourceProperties.MutableResoureProperties
- Parameters:
aFile
- TheFile
from which to load the properties.aComment
- The description for the properties file.aDelimiter
- The path delimiter to be used when writing out the properties to the destination (in case the the serialized format supports / requires the such).- Returns:
- The
File
representing the actual location where the properties have been saved to. - Throws:
IOException
- thrown in case saving the properties failed
-
loadFrom
Loads the properties from the givenFile
. Save them using the methodResourceProperties.MutableResoureProperties.saveTo(File)
. The default implementation uses the hook methodResourceProperties.MutableResoureProperties.loadFrom(InputStream, char...)
to finally load and parse the properties.- Specified by:
loadFrom
in interfaceResourceProperties.MutableResoureProperties
- Parameters:
aFile
- TheFile
from which to load the properties.aDelimiters
- The path delimiters to be used when parsing the source's properties (in case the the serialized format supports / requires the such).- Returns:
- The
Properties
as loaded from the resource and applied to this instance. - Throws:
IOException
- thrown in case loading the properties failedParseException
- 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:
toSerialized
in interfaceResourceProperties
- Specified by:
toSerialized
in interfaceResourceProperties.MutableResoureProperties
- 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.
-