Class MapImmutableProperties

java.lang.Object
org.refcodes.properties.MapImmutableProperties
All Implemented Interfaces:
org.refcodes.mixin.AnnotatorAccessor, org.refcodes.mixin.DelimiterAccessor, org.refcodes.mixin.EmptyAccessor, org.refcodes.mixin.TypeAccessor<String>, ImmutableProperties, org.refcodes.struct.Containable, org.refcodes.struct.ImmutableCanonicalTable, org.refcodes.struct.ImmutableInterOperableTable<String>, org.refcodes.struct.ImmutablePathTable<String>, org.refcodes.struct.ImmutableTable<String,String>, org.refcodes.struct.Keys<String,String>
Direct Known Subclasses:
ArgsProperties

public class MapImmutableProperties extends Object implements ImmutableProperties
The Class MapImmutableProperties.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Builder for collecting properties and creating ImmutableProperties instances.

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

    org.refcodes.mixin.EmptyAccessor.EmptyBuilder<B extends org.refcodes.mixin.EmptyAccessor.EmptyBuilder<B>>, org.refcodes.mixin.EmptyAccessor.EmptyMutator, org.refcodes.mixin.EmptyAccessor.EmptyProperty

    Nested classes/interfaces inherited from interface org.refcodes.struct.ImmutableCanonicalTable

    org.refcodes.struct.ImmutableCanonicalTable.MutableCanonicalTable

    Nested classes/interfaces inherited from interface org.refcodes.struct.ImmutableInterOperableTable

    org.refcodes.struct.ImmutableInterOperableTable.MutableInterOperableTable<T>

    Nested classes/interfaces inherited from interface org.refcodes.struct.ImmutablePathTable

    org.refcodes.struct.ImmutablePathTable.MutablePathTable<T>

    Nested classes/interfaces inherited from interface org.refcodes.properties.ImmutableProperties

    ImmutableProperties.MutableProperties

    Nested classes/interfaces inherited from interface org.refcodes.struct.ImmutableTable

    org.refcodes.struct.ImmutableTable.MutableTable<K,V>

    Nested classes/interfaces inherited from interface org.refcodes.struct.Keys

    org.refcodes.struct.Keys.MutableKeys<K,V>, org.refcodes.struct.Keys.MutableValues<K,V>

    Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor

    org.refcodes.mixin.TypeAccessor.TypeBuilder<T,B extends org.refcodes.mixin.TypeAccessor.TypeBuilder<T,B>>, org.refcodes.mixin.TypeAccessor.TypeMutator<T>, org.refcodes.mixin.TypeAccessor.TypeProperty<T>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Properties
     

    Fields inherited from interface org.refcodes.struct.ImmutablePathTable

    ANNOTATOR, DELIMITER

    Fields inherited from interface org.refcodes.properties.ImmutableProperties

    DEFAULT_COMMENT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates an empty immutable ImmutableProperties object.
    Create a ImmutableProperties instance containing the elements as of ImmutablePathTable.MutablePathTable.insert(Object) using the default path delimiter "/" (Delimiter.PATH) for the path declarations: "Inspects the given object and adds all elements found in the given object.
    MapImmutableProperties(Map<?,?> aProperties)
    Create a ImmutableProperties instance containing the elements of the provided Map instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
    Create a Properties instance containing the elements of the provided Properties instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
    MapImmutableProperties(org.refcodes.struct.Property... aProperties)
    Create a ImmutableProperties instance containing the provided Property instances' key/value-pairs.
  • Method Summary

    Modifier and Type
    Method
    Description
    Creates a new MapImmutableProperties.Builder for constructing ImmutableProperties instances.
    boolean
    boolean
    get(Object aKey)
    char
    Returns the default path delimiter as of Delimiter.PATH.
    int
    boolean
    retrieveFrom(String aFromPath)
    retrieveTo(String aToPath)
    int

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.refcodes.struct.ImmutableCanonicalTable

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

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

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

    getOr, use
  • Field Details

  • Constructor Details

    • MapImmutableProperties

      public MapImmutableProperties()
      Creates an empty immutable ImmutableProperties object.
    • MapImmutableProperties

      public MapImmutableProperties(Map<?,?> aProperties)
      Create a ImmutableProperties instance containing the elements of the provided Map instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
      Parameters:
      aProperties - the properties to be added.
    • MapImmutableProperties

      public MapImmutableProperties(Object aObj)
      Create a ImmutableProperties instance containing the elements as of ImmutablePathTable.MutablePathTable.insert(Object) using the default path delimiter "/" (Delimiter.PATH) for the path declarations: "Inspects the given object and adds all elements found in the given object. Elements of type Map, Collection and arrays are identified and handled as of their type: The path for each value in a Map is appended with its according key. The path for each value in a Collection or array is appended with its according index of occurrence (in case of a List or an array, its actual index). In case of reflection, the path for each member is appended with its according mamber's name. All elements (e.g. the members and values) are inspected recursively which results in the according paths of the terminating values."
      Parameters:
      aObj - The object from which the elements are to be added.
    • MapImmutableProperties

      public MapImmutableProperties(Properties aProperties)
      Create a Properties instance containing the elements of the provided Properties instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
      Parameters:
      aProperties - the properties to be added.
    • MapImmutableProperties

      public MapImmutableProperties(org.refcodes.struct.Property... aProperties)
      Create a ImmutableProperties instance containing the provided Property instances' key/value-pairs.
      Parameters:
      aProperties - the properties to be added.
  • Method Details

    • containsKey

      public boolean containsKey(Object aKey)
      Specified by:
      containsKey in interface org.refcodes.struct.Keys<String,String>
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • get

      public String get(Object aKey)
      Specified by:
      get in interface org.refcodes.struct.Keys<String,String>
    • getDelimiter

      public char getDelimiter()
      Returns the default path delimiter as of Delimiter.PATH.
      Specified by:
      getDelimiter in interface org.refcodes.mixin.DelimiterAccessor
      Specified by:
      getDelimiter in interface ImmutableProperties
    • getType

      public Class<String> getType()
      Specified by:
      getType in interface ImmutableProperties
      Specified by:
      getType in interface org.refcodes.mixin.TypeAccessor<String>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface org.refcodes.mixin.EmptyAccessor
    • keySet

      public Set<String> keySet()
      Specified by:
      keySet in interface org.refcodes.struct.Keys<String,String>
    • retrieveFrom

      public Properties retrieveFrom(String aFromPath)
      Specified by:
      retrieveFrom in interface org.refcodes.struct.ImmutableCanonicalTable
      Specified by:
      retrieveFrom in interface org.refcodes.struct.ImmutablePathTable<String>
      Specified by:
      retrieveFrom in interface ImmutableProperties
    • retrieveTo

      public Properties retrieveTo(String aToPath)
      Specified by:
      retrieveTo in interface org.refcodes.struct.ImmutableCanonicalTable
      Specified by:
      retrieveTo in interface org.refcodes.struct.ImmutablePathTable<String>
      Specified by:
      retrieveTo in interface ImmutableProperties
    • size

      public int size()
      Specified by:
      size in interface org.refcodes.struct.Containable
    • toDataStructure

      public Object toDataStructure(String aFromPath)
      Specified by:
      toDataStructure in interface org.refcodes.struct.ImmutablePathTable<String>
    • values

      public Collection<String> values()
      Specified by:
      values in interface org.refcodes.struct.Keys<String,String>
    • builder

      public static MapImmutableProperties.Builder builder()
      Creates a new MapImmutableProperties.Builder for constructing ImmutableProperties instances.
      Returns:
      A new builder instance