Class PropertiesPrecedenceComposite

java.lang.Object
org.refcodes.properties.PropertiesPrecedenceComposite
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, PropertiesPrecedence, org.refcodes.struct.CanonicalMap, org.refcodes.struct.Containable, org.refcodes.struct.Dictionary<String,String>, org.refcodes.struct.InterOperableMap<String>, org.refcodes.struct.Keys<String,String>, org.refcodes.struct.PathMap<String>
Direct Known Subclasses:
PropertiesPrecedenceBuilderComposite

public class PropertiesPrecedenceComposite extends Object implements PropertiesPrecedence
Retrieve properties from various different properties sources (Properties instances) by querying all the herein contained Properties instances in the order of them being added. Queried properties of the first Properties instance containing them are returned. Properties instances before have a higher precedence than the instances added next.
  • 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.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.properties.PropertiesPrecedence

    PropertiesPrecedence.MutablePropertiesPrecedence, PropertiesPrecedence.PropertiesPrecedenceBuilder

    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
    Modifier and Type
    Field
    Description
    protected List<Properties>
     

    Fields inherited from interface org.refcodes.struct.PathMap

    ANNOTATOR, DELIMITER

    Fields inherited from interface org.refcodes.properties.Properties

    DEFAULT_COMMENT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a PropertiesPrecedence composite querying the provided Properties in the given order.
    Creates a PropertiesPrecedence composite querying the provided Properties in the given order.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    boolean
    Tests whether the given properties have already been added.
    get(Object aKey)
    char
    Returns the default path delimiter as of Delimiter.PATH.
    boolean
    retrieveFrom(String aFromPath)
    retrieveTo(String aToPath)
    int

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

    toDump, toDump

    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

    getOr, use

    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, toExternalPath, toInstance, toInstance, toLeaf, toMap, toNormalizedPath, toParentPath, toPath, toPath, toPath, toPath, toPathElements, toPathList, toPathStack, toPrintable, toPropertyPath, toType, toType, toType, toType, toType, toType, toType, toType
  • Field Details

  • Constructor Details

    • PropertiesPrecedenceComposite

      public PropertiesPrecedenceComposite(Properties... aProperties)
      Creates a PropertiesPrecedence composite querying the provided Properties in the given order. Queried properties of the first Properties instance containing them are returned. Properties before have a higher precedence over Properties provided next.
      Parameters:
      aProperties - The Properties to be queried in the provided order.
    • PropertiesPrecedenceComposite

      public PropertiesPrecedenceComposite(List<Properties> aProperties)
      Creates a PropertiesPrecedence composite querying the provided Properties in the given order. Queried properties of the first Properties instance containing them are returned. Properties before have a higher precedence over Properties provided next.
      Parameters:
      aProperties - The Properties to be queried in the provided order.
  • Method Details

    • containsProperties

      public boolean containsProperties(Properties aProperties)
      Tests whether the given properties have already been added.
      Specified by:
      containsProperties in interface PropertiesPrecedence
      Parameters:
      aProperties - The Properties to be tested for being already contained or not.
      Returns:
      True if the given Properties are already contained in the PropertiesPrecedence instance.
    • toDataStructure

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

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

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

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

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

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

      public boolean isEmpty()
      Specified by:
      isEmpty in interface org.refcodes.mixin.EmptyAccessor
    • 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 Properties
    • retrieveFrom

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

      public Properties retrieveTo(String aToPath)
      Specified by:
      retrieveTo in interface org.refcodes.struct.CanonicalMap
      Specified by:
      retrieveTo in interface org.refcodes.struct.PathMap<String>
      Specified by:
      retrieveTo in interface Properties