Interface ImmutableClassStructTable.MutableClassStructTable

All Superinterfaces:
org.refcodes.mixin.AnnotatorAccessor, org.refcodes.mixin.Clearable, Containable, org.refcodes.mixin.DelimiterAccessor, org.refcodes.mixin.EmptyAccessor, ImmutableClassStructTable, ImmutablePathTable<Class<?>>, ImmutablePathTable.MutablePathTable<Class<?>>, ImmutableTable<String,Class<?>>, ImmutableTable.MutableTable<String,Class<?>>, Keys<String,Class<?>>, Keys.MutableKeys<String,Class<?>>, Keys.MutableValues<String,Class<?>>, Map<String,Class<?>>, org.refcodes.mixin.TypeAccessor<Class<?>>, TypeModeAccessor
All Known Subinterfaces:
ClassStructTable
All Known Implementing Classes:
MapClassStructTable
Enclosing interface:
ImmutableClassStructTable

public static interface ImmutableClassStructTable.MutableClassStructTable extends ImmutableClassStructTable, ImmutablePathTable.MutablePathTable<Class<?>>, Map<String,Class<?>>
The ImmutableClassStructTable.MutableClassStructTable type adds mutable functionality to the ClassStructTable.
  • Method Details

    • containsValue

      default boolean containsValue(Object value)
      This method is defined for the sake of Map conformity. Tests whether the provided value has a key assigned.
      Specified by:
      containsValue in interface ImmutableClassStructTable
      Specified by:
      containsValue in interface Keys<String,Class<?>>
      Specified by:
      containsValue in interface Map<String,Class<?>>
      Parameters:
      value - The value to test if a key references this value.
      Returns:
      True in case the given value is referenced by a key.
    • insert

      default void insert(ImmutableClassStructTable aFrom)
      Method to semantically emphasize that we support our own types. Actually delegates to ImmutablePathTable.MutablePathTable.insert(Object).
      Parameters:
      aFrom - The ImmutableClassStructTable which is to be inspected with the therein contained values being added with their according determined paths.
    • insertBetween

      default void insertBetween(String aToPath, ImmutableClassStructTable aFrom, String aFromPath)
      Method to semantically emphasize that we support our own types. Actually delegates to ImmutablePathTable.MutablePathTable.insertBetween(String, Object, String).
      Parameters:
      aToPath - The sub-path where to insert the object's introspected values to.
      aFrom - The ImmutableClassStructTable which is to be inspected with the therein contained values being added with their according determined paths.
      aFromPath - The path from where to start adding elements of the provided object.
    • insertFrom

      default void insertFrom(ImmutableClassStructTable aFrom, String aFromPath)
      Method to semantically emphasize that we support our own types. Actually delegates to ImmutablePathTable.MutablePathTable.insertFrom(Object, String).
      Parameters:
      aFrom - The ImmutableClassStructTable which is to be inspected with the therein contained values being added with their according determined paths.
      aFromPath - The path from where to start adding elements of the provided object.
    • insertTo

      default void insertTo(String aToPath, ImmutableClassStructTable aFrom)
      Method to semantically emphasize that we support our own types. Actually delegates to ImmutablePathTable.MutablePathTable.insertTo(String, Object).
      Parameters:
      aToPath - The sub-path where to insert the object's introspected values to.
      aFrom - The ImmutableClassStructTable which is to be inspected with the therein contained values being added with their according determined paths.
    • put

      default String put(Object aKey, String aValue)
      Adds the given element related to the given key. As the key passed is an enumeration, the Enum.toString() method is used on the enumeration to resolve the enumeration to a {link String} key.
      Parameters:
      aKey - The key for which to add the element.
      aValue - The value to be related with the given key.
      Returns:
      The value being replaced by the provided value or null if none value has been replaced.
    • put

      default Class<?> put(Object[] aPathElements, Class<?> aValue)
      Puts the given value into the child's path, relative to the given parent's path.
      Specified by:
      put in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements of the path relative to which to put the value.
      aValue - The value to be added.
      Returns:
      The replaced value in case a value has already been set for the resulting path, or null.
    • put

      default String put(Property aProperty)
      Puts the key/value-pair from the provided Property.
      Parameters:
      aProperty - The property's key/value to be inserted.
      Returns:
      The property value overwritten by the provided property.
    • put

      default Class<?> put(Relation<String,Class<?>> aRelation)
      Adds the given element related to the given key.
      Specified by:
      put in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Specified by:
      put in interface ImmutableTable.MutableTable<String,Class<?>>
      Parameters:
      aRelation - the relation
      Returns:
      The value being replaced by the provided value or null if none value has been replaced.
    • put

      default Class<?> put(String[] aPathElements, Class<?> aValue)
      Puts the given value into the child's path, relative to the given parent's path.
      Specified by:
      put in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements of the path relative to which to put the value.
      aValue - The value to be added.
      Returns:
      The replaced value in case a value has already been set for the resulting path, or null.
    • putAll

      default void putAll(ImmutableClassStructTable aProperties)
      This method inserts all elements (key/value-pairs) found in the provided ImmutableClassStructTable instances of interoperability reasons.
      Parameters:
      aProperties - A ImmutableClassStructTable containing the key/value pairs to be inserted.
    • putAll

      default void putAll(Properties aProperties)
      This method inserts all elements (key/value-pairs) found in the provided Properties instances of interoperability reasons.
      Parameters:
      aProperties - A Properties containing the key/value-pairs to be inserted.
    • putAll

      default void putAll(Map<? extends String,? extends Class<?>> aProperties)
      Specified by:
      putAll in interface Map<String,Class<?>>
    • putDirAt

      default ClassStructTable putDirAt(Collection<?> aPathElements, int aIndex, Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements of the path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(Collection<?> aPathElements, int aIndex, ImmutablePathTable<Class<?>> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements of the path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(int aIndex, Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the root path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(int aIndex, ImmutablePathTable<Class<?>> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the root path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(Object aPath, int aIndex, Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPath - The path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(Object aPath, int aIndex, ImmutablePathTable<Class<?>> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPath - The path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(Object[] aPathElements, int aIndex, Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements of the path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(Object[] aPathElements, int aIndex, ImmutablePathTable<Class<?>> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements of the path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(String aPath, int aIndex, Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPath - The path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(String aPath, int aIndex, ImmutablePathTable<Class<?>> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPath - The path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(String[] aPathElements, int aIndex, Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements of the path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • putDirAt

      default ClassStructTable putDirAt(String[] aPathElements, int aIndex, ImmutablePathTable<Class<?>> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Puts the given values below the path at the given index.
      Specified by:
      putDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements of the path where to put the indexed element.
      aIndex - The index of the indexed element.
      aDir - The values to be put at the index.
      Returns:
      The directory which has been replaced by the given directory.
    • removeAll

      default ClassStructTable removeAll(Collection<?> aPathQueryElements)
      Removes all elements which's keys match the provided path query. Queries the keys of the instance using the PathMatcher' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: The PathMatcher applies the following rules from the ANT path pattern to the query provided: A single asterisk ("*" as of Wildcard.FILE) matches zero or more characters within a path name. A double asterisk ("**" as of Wildcard.PATH) matches zero or more characters across directory levels. A question mark ("?" as of Wildcard.CHAR) matches exactly one character within a path name. The single asterisk ("*" as of Wildcard.FILE), the double asterisk ("**" as of Wildcard.PATH) and the question mark ("?" as of Wildcard.CHAR) we refer to as wildcards.
      Specified by:
      removeAll in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathQueryElements - The elements representing your path query including your wildcards.
      Returns:
      The removed properties.
    • removeAll

      default ClassStructTable removeAll(Object... aPathQueryElements)
      Removes all elements which's keys match the provided path query. Queries the keys of the instance using the PathMatcher' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: The PathMatcher applies the following rules from the ANT path pattern to the query provided: A single asterisk ("*" as of Wildcard.FILE) matches zero or more characters within a path name. A double asterisk ("**" as of Wildcard.PATH) matches zero or more characters across directory levels. A question mark ("?" as of Wildcard.CHAR) matches exactly one character within a path name. The single asterisk ("*" as of Wildcard.FILE), the double asterisk ("**" as of Wildcard.PATH) and the question mark ("?" as of Wildcard.CHAR) we refer to as wildcards.
      Specified by:
      removeAll in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathQueryElements - The elements representing your path query including your wildcards.
      Returns:
      The removed properties.
    • removeAll

      default ClassStructTable removeAll(Object aPathQuery)
      Removes all elements which's keys match the provided path query. Queries the keys of the instance using the PathMatcher' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: The PathMatcher applies the following rules from the ANT path pattern to the query provided: A single asterisk ("*" as of Wildcard.FILE) matches zero or more characters within a path name. A double asterisk ("**" as of Wildcard.PATH) matches zero or more characters across directory levels. A question mark ("?" as of Wildcard.CHAR) matches exactly one character within a path name. The single asterisk ("*" as of Wildcard.FILE), the double asterisk ("**" as of Wildcard.PATH) and the question mark ("?" as of Wildcard.CHAR) we refer to as wildcards.
      Specified by:
      removeAll in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathQuery - The path query including your wildcards.
      Returns:
      The removed properties.
    • removeAll

      default ClassStructTable removeAll(Pattern aRegExp)
      Removes all elements which's keys match the provided regular expression: Queries the keys of the instance using the provided Pattern.
      Specified by:
      removeAll in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aRegExp - The regular expression to be used for the query.
      Returns:
      The removed properties.
    • removeAll

      default ClassStructTable removeAll(String... aPathQueryElements)
      Removes all elements which's keys match the provided path query. Queries the keys of the instance using the PathMatcher' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: The PathMatcher applies the following rules from the ANT path pattern to the query provided: A single asterisk ("*" as of Wildcard.FILE) matches zero or more characters within a path name. A double asterisk ("**" as of Wildcard.PATH) matches zero or more characters across directory levels. A question mark ("?" as of Wildcard.CHAR) matches exactly one character within a path name. The single asterisk ("*" as of Wildcard.FILE), the double asterisk ("**" as of Wildcard.PATH) and the question mark ("?" as of Wildcard.CHAR) we refer to as wildcards.
      Specified by:
      removeAll in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathQueryElements - The elements representing your path query including your wildcards.
      Returns:
      The removed properties.
    • removeAll

      default ClassStructTable removeAll(String aPathQuery)
      Removes all elements which's keys match the provided path query. Queries the keys of the instance using the PathMatcher' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: The PathMatcher applies the following rules from the ANT path pattern to the query provided: A single asterisk ("*" as of Wildcard.FILE) matches zero or more characters within a path name. A double asterisk ("**" as of Wildcard.PATH) matches zero or more characters across directory levels. A question mark ("?" as of Wildcard.CHAR) matches exactly one character within a path name. The single asterisk ("*" as of Wildcard.FILE), the double asterisk ("**" as of Wildcard.PATH) and the question mark ("?" as of Wildcard.CHAR) we refer to as wildcards.
      Specified by:
      removeAll in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathQuery - The path query including your wildcards.
      Returns:
      The removed properties.
    • removeDirAt

      default ClassStructTable removeDirAt(int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Removes the elements of the given index below the root path. Given the following paths and index = 1: /0/0aaa /0/0bbb /0/0bbb /1/1aaa /1/1bbb /1/1bbb You will get a result containing all the elements which's keys begin with "/1/". The keys of the result will exclude the path "prefix" "/1".
      Specified by:
      removeDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aIndex - The index which to use.
      Returns:
      The indexed elements without the indexed path "prefixes".
    • removeDirAt

      default ClassStructTable removeDirAt(Object aPath, int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Removes the elements of the given index below the given path. Given the following paths and index = 1 with a queried path "/root/child": /root/child/0/0aaa /root/child/0/0bbb /root/child/0/0bbb /root/child/1/1aaa /root/child/1/1bbb /root/child/1/1bbb You will get a result containing all the elements which's keys begin with "/root/child/1/". The keys of the result will exclude the path "prefix" "/root/child/1".
      Specified by:
      removeDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPath - The path from which to remove the indexed elements.
      aIndex - The index which to use.
      Returns:
      The indexed elements without the indexed path "prefixes".
    • removeDirAt

      default ClassStructTable removeDirAt(Object[] aPathElements, int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Removes the elements of the given index below the given path. Given the following paths and index = 1 with a queried path "/root/child": /root/child/0/0aaa /root/child/0/0bbb /root/child/0/0bbb /root/child/1/1aaa /root/child/1/1bbb /root/child/1/1bbb You will get a result containing all the elements which's keys begin with "/root/child/1/".The keys of the result will exclude the path "prefix" "/root/child/1".
      Specified by:
      removeDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The elements of the path from which to remove the indexed elements.
      aIndex - The index which to use.
      Returns:
      The indexed elements without the indexed path "prefixes".
    • removeDirAt

      default ClassStructTable removeDirAt(String aPath, int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Removes the elements of the given index below the given path. Given the following paths and index = 1 with a queried path "/root/child": /root/child/0/0aaa /root/child/0/0bbb /root/child/0/0bbb /root/child/1/1aaa /root/child/1/1bbb /root/child/1/1bbb You will get a result containing all the elements which's keys begin with "/root/child/1/".The keys of the result will exclude the path "prefix" "/root/child/1".
      Specified by:
      removeDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPath - The path from which to remove the indexed elements.
      aIndex - The index which to use.
      Returns:
      The indexed elements without the indexed path "prefixes".
    • removeDirAt

      default ClassStructTable removeDirAt(String[] aPathElements, int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index. There may by many sub-paths for the same indexed path which are all are included by the according directory. Removes the elements of the given index below the given path. Given the following paths and index = 1 with a queried path "/root/child": /root/child/0/0aaa /root/child/0/0bbb /root/child/0/0bbb /root/child/1/1aaa /root/child/1/1bbb /root/child/1/1bbb You will get a result containing all the elements which's keys begin with "/root/child/1/".The keys of the result will exclude the path "prefix" "/root/child/1".
      Specified by:
      removeDirAt in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The elements of the path from which to remove the indexed elements.
      aIndex - The index which to use.
      Returns:
      The indexed elements without the indexed path "prefixes".
    • removeFrom

      default ClassStructTable removeFrom(Collection<?> aPathElements)
      Removes all properties below the provided path and returns the PathTable with the removed elements, by which the paths exclude the parent's path.
      Specified by:
      removeFrom in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements for the path from where to remove all properties.
      Returns:
      The removed properties.
    • removeFrom

      default ClassStructTable removeFrom(Object... aPathElements)
      Removes all properties below the provided path and returns the PathTable with the removed elements, by which the paths exclude the parent's path.
      Specified by:
      removeFrom in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements for the path from where to remove all properties.
      Returns:
      The removed properties.
    • removeFrom

      default ClassStructTable removeFrom(Object aPath)
      Removes all properties below the provided path and returns the PathTable with the removed elements, by which the paths exclude the parent's path.
      Specified by:
      removeFrom in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPath - The path from where to remove all properties.
      Returns:
      The removed properties.
    • removeFrom

      default ClassStructTable removeFrom(String aPath)
      Removes all properties below the provided path and returns the PathTable with the removed elements, by which the paths exclude the parent's path.
      Specified by:
      removeFrom in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPath - The path from where to remove all properties.
      Returns:
      The removed properties.
    • removeFrom

      default ClassStructTable removeFrom(String... aPathElements)
      Removes all properties below the provided path and returns the PathTable with the removed elements, by which the paths exclude the parent's path.
      Specified by:
      removeFrom in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPathElements - The path elements for the path from where to remove all properties.
      Returns:
      The removed properties.
    • removePaths

      default ClassStructTable removePaths(Collection<?> aPaths)
      Removes the paths contained in the provided collection.
      Specified by:
      removePaths in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPaths - The paths to be removed.
      Returns:
      The removed properties.
    • removePaths

      default ClassStructTable removePaths(String... aPaths)
      Removes the paths contained in the provided collection.
      Specified by:
      removePaths in interface ImmutablePathTable.MutablePathTable<Class<?>>
      Parameters:
      aPaths - The paths to be removed.
      Returns:
      The removed properties.