Interface ResourceProperties

All Superinterfaces:
org.refcodes.mixin.AnnotatorAccessor, org.refcodes.struct.CanonicalMap, org.refcodes.struct.Containable, org.refcodes.mixin.DelimiterAccessor, org.refcodes.struct.Dictionary<String,String>, org.refcodes.mixin.Dumpable, org.refcodes.mixin.EmptyAccessor, org.refcodes.struct.InterOperableMap<String>, org.refcodes.struct.Keys<String,String>, org.refcodes.struct.PathMap<String>, Properties, org.refcodes.mixin.TypeAccessor<String>
All Known Subinterfaces:
ResourceProperties.MutableResoureProperties, ResourceProperties.ResourcePropertiesBuilder, ScheduledResourceProperties, ScheduledResourceProperties.ScheduledMuableResourceProperties, ScheduledResourceProperties.ScheduledResourcePropertiesBuilder
All Known Implementing Classes:
AbstractResourceProperties, AbstractResourcePropertiesBuilder, AbstractResourcePropertiesBuilderDecorator, AbstractResourcePropertiesDecorator, JavaProperties, JavaPropertiesBuilder, JsonProperties, JsonPropertiesBuilder, PolyglotProperties, PolyglotPropertiesBuilder, ScheduledResourcePropertiesBuilderDecorator, ScheduledResourcePropertiesDecorator, TomlProperties, TomlPropertiesBuilder, XmlProperties, XmlPropertiesBuilder, YamlProperties, YamlPropertiesBuilder

public interface ResourceProperties extends Properties
The ResourceProperties are a specialization of the Dictionary. Properties represent a collection of String key and String value pairs as properties usually occur in pure text form, to be converted to the required data types. For this reason, the ResourceProperties interface provides additional conversion methods. When parsing properties from notations which do not support nodes to have values as well as child elements, then please support one of the identifiers contained in the THIS_ATTRIBUTES array.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    The interface ResourceProperties.MutableResoureProperties defines "dirty" methods allowing to modify ("mutate") the ResourceProperties.
    static interface 
    The interface ResourceProperties.ResourcePropertiesBuilder defines builder functionality on top of the ResourceProperties.MutableResoureProperties.

    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.mixin.EmptyAccessor

    org.refcodes.mixin.EmptyAccessor.EmptyMutator, org.refcodes.mixin.EmptyAccessor.EmptyProperty

    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 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.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
  • Method Summary

    Modifier and Type
    Method
    Description
    reload(ReloadMode aReloadMode)
    default String
    Produces the external representation of the properties as of the serialized format supported by the implementing class.
    default String
    toSerialized(char aDelimiter)
    Produces the external representation of the properties as of the serialized format supported by the implementing class.
    default String
    toSerialized(String aComment)
    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 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.Containable

    size

    Methods inherited from interface org.refcodes.mixin.Dumpable

    toDump, toDump

    Methods inherited from interface org.refcodes.mixin.EmptyAccessor

    isEmpty

    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.Keys

    containsKey, get, getOr, keySet, use, 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, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayOr, getArrayOr, getArrayOr, getArrayOr, getArrayOr, 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, 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
  • Method Details

    • reload

      Reloads the ResourceProperties from the resource to which the ResourceProperties are attached to (such as a File as of ResourceProperties.MutableResoureProperties.loadFrom(File) or ResourceProperties.MutableResoureProperties.saveTo(File)). In case the resource (such as an InputStream) does not support reloading, then an IllegalStateException is thrown. Properties existing in the attached resource as well in the Properties itself are replaced. Properties existing in the attached resource but not(!) in the Properties itself are not(!) removed. Use reload(ReloadMode) with an argument of true (~ orphan removal) to remove properties not existing in the resource.
      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.
      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.
    • reload

      Reloads the ResourceProperties from the resource to which the ResourceProperties are attached to (such as a File as of ResourceProperties.MutableResoureProperties.loadFrom(File) or ResourceProperties.MutableResoureProperties.saveTo(File)). In case the resource (such as an InputStream) does not support reloading, then an IllegalStateException is thrown. Properties existing in the attached resource as well in the Properties itself are replaced. When "orphan removal" is set to false, then properties existing in the attached resource but not(!) in the Properties itself are not(!) removed. When "orphan removal" is set to true, then properties existing in the attached resource but not(!) in the Properties itself are(!) removed.
      Parameters:
      aReloadMode - when set to ReloadMode.ORPHAN_REMOVAL, then properties existing in the attached resource but not(!) in the Properties 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.
      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.
    • toSerialized

      default String toSerialized()
      Produces the external representation of the properties as of the serialized format supported by the implementing class.
      Returns:
      The external (serialized) representation of the properties.
    • toSerialized

      default String toSerialized(char aDelimiter)
      Produces the external representation of the properties as of the serialized format supported by the implementing class.
      Parameters:
      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.
    • toSerialized

      default String toSerialized(String aComment)
      Produces the external representation of the properties as of the serialized format supported by the implementing class.
      Parameters:
      aComment - The comment to be used.
      Returns:
      The external (serialized) representation of the properties.
    • toSerialized

      String toSerialized(String aComment, char aDelimiter)
      Produces the external representation of the properties as of the serialized format supported by the implementing class.
      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.