Interface PathMap.MutablePathMap<T>

    • 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.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 java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,V extends java.lang.Object>
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor

        org.refcodes.mixin.TypeAccessor.TypeMutator<T extends java.lang.Object>, org.refcodes.mixin.TypeAccessor.TypeProperty<T extends java.lang.Object>
    • Method Summary

      All Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      default void appendDirTo​(java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.lang.Object[] aPathElements, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.lang.Object[] aPathElements, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.lang.Object aPath, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.lang.Object aPath, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.lang.String[] aPathElements, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.lang.String[] aPathElements, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.lang.String aPath, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.lang.String aPath, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.util.Collection<?> aPathElements, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(java.util.Collection<?> aPathElements, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendDirTo​(PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default void appendValueTo​(java.lang.Object[] aPathElements, T aValue)
      Adds an element to the next index as of PathMap.nextArrayIndex(String[]).
      default void appendValueTo​(java.lang.Object aPath, T aValue)
      Adds an element to the next index as of PathMap.nextArrayIndex(String[]).
      default void appendValueTo​(java.lang.String[] aPathElements, T aValue)
      Adds an element to the next index as of PathMap.nextArrayIndex(String).
      default void appendValueTo​(java.lang.String aPath, T aValue)
      Adds an element to the next index as of PathMap.nextArrayIndex(String).
      default void appendValueTo​(java.util.Collection<?> aPathElements, T aValue)
      Adds an element to the next index as of PathMap.nextArrayIndex(String[]).
      default void appendValueTo​(T aValue)
      Adds an element to the next index as of PathMap.nextArrayIndex().
      default T delete​(java.lang.Object aPath)
      Removes an element identified by the given key.
      default T delete​(java.lang.Object[] aPathElements)
      Removes an element identified by the given key.
      default T delete​(java.lang.String aPath)
      Removes an element identified by the given key.
      default T delete​(java.lang.String[] aPathElements)
      Removes an element identified by the given key.
      default T delete​(java.util.Collection<?> aPathElements)
      Removes an element identified by the given key.
      default void insert​(java.lang.Object aFrom)
      Inspects the given object and adds all elements found in the given object.
      default void insert​(PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void insertBetween​(java.lang.Object[] aToPathElements, java.lang.Object aFrom, java.lang.Object[] aFromPathElements)
      Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertBetween​(java.lang.Object[] aToPathElements, PathMap<T> aFrom, java.lang.Object[] aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void insertBetween​(java.lang.Object aToPath, java.lang.Object aFrom, java.lang.Object aFromPath)
      Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertBetween​(java.lang.Object aToPath, PathMap<T> aFrom, java.lang.Object aFromPath)
      Method to semantically emphasize that we support our own types.
      default void insertBetween​(java.lang.String[] aToPathElements, java.lang.Object aFrom, java.lang.String[] aFromPathElements)
      Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertBetween​(java.lang.String[] aToPathElements, PathMap<T> aFrom, java.lang.String[] aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void insertBetween​(java.lang.String aToPath, java.lang.Object aFrom, java.lang.String aFromPath)
      Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertBetween​(java.lang.String aToPath, PathMap<T> aFrom, java.lang.String aFromPath)
      Method to semantically emphasize that we support our own types.
      default void insertBetween​(java.util.Collection<?> aToPathElements, java.lang.Object aFrom, java.util.Collection<?> aFromPathElements)
      Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertBetween​(java.util.Collection<?> aToPathElements, PathMap<T> aFrom, java.util.Collection<?> aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void insertFrom​(java.lang.Object aFrom, java.lang.Object aFromPath)
      Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertFrom​(java.lang.Object aFrom, java.lang.Object... aFromPathElements)
      Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertFrom​(java.lang.Object aFrom, java.lang.String aFromPath)
      Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertFrom​(java.lang.Object aFrom, java.lang.String... aFromPathElements)
      Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertFrom​(java.lang.Object aFrom, java.util.Collection<?> aFromPathElements)
      Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void insertFrom​(PathMap<T> aFrom, java.lang.Object aFromPath)
      Method to semantically emphasize that we support our own types.
      default void insertFrom​(PathMap<T> aFrom, java.lang.Object... aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void insertFrom​(PathMap<T> aFrom, java.lang.String aFromPath)
      Method to semantically emphasize that we support our own types.
      default void insertFrom​(PathMap<T> aFrom, java.lang.String... aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void insertFrom​(PathMap<T> aFrom, java.util.Collection<?> aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void insertTo​(java.lang.Object[] aToPathElements, java.lang.Object aFrom)
      Same as insert(Object) though starting insertion of object's introspected values at the given "path".
      default void insertTo​(java.lang.Object[] aToPathElements, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void insertTo​(java.lang.Object aToPath, java.lang.Object aFrom)
      Same as insert(Object) though starting insertion of object's introspected values at the given "path".
      default void insertTo​(java.lang.Object aToPath, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void insertTo​(java.lang.String[] aToPathElements, java.lang.Object aFrom)
      Same as insert(Object) though starting insertion of object's introspected values at the given "path".
      default void insertTo​(java.lang.String[] aToPathElements, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void insertTo​(java.lang.String aToPath, java.lang.Object aFrom)
      Same as insert(Object) though starting insertion of object's introspected values at the given "path".
      default void insertTo​(java.lang.String aToPath, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void insertTo​(java.util.Collection<?> aToPathElements, java.lang.Object aFrom)
      Same as insert(Object) though starting insertion of object's introspected values at the given "path".
      default void insertTo​(java.util.Collection<?> aToPathElements, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void merge​(java.lang.Object aFrom)
      Inspects the given object and adds all elements found in the given object in case the targeted path does not exist or points to a null value.
      default void merge​(PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void mergeBetween​(java.lang.Object[] aToPathElements, java.lang.Object aFrom, java.lang.Object[] aFromPathElements)
      Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeBetween​(java.lang.Object[] aToPathElements, PathMap<T> aFrom, java.lang.Object[] aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void mergeBetween​(java.lang.Object aToPath, java.lang.Object aFrom, java.lang.Object aFromPath)
      Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeBetween​(java.lang.Object aToPath, PathMap<T> aFrom, java.lang.Object aFromPath)
      Method to semantically emphasize that we support our own types.
      default void mergeBetween​(java.lang.String[] aToPathElements, java.lang.Object aFrom, java.lang.String[] aFromPathElements)
      Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeBetween​(java.lang.String[] aToPathElements, PathMap<T> aFrom, java.lang.String[] aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void mergeBetween​(java.lang.String aToPath, java.lang.Object aFrom, java.lang.String aFromPath)
      Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeBetween​(java.lang.String aToPath, PathMap<T> aFrom, java.lang.String aFromPath)
      Method to semantically emphasize that we support our own types.
      default void mergeBetween​(java.util.Collection<?> aToPathElements, java.lang.Object aFrom, java.util.Collection<?> aFromPathElements)
      Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeBetween​(java.util.Collection<?> aToPathElements, PathMap<T> aFrom, java.util.Collection<?> aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void mergeFrom​(java.lang.Object aFrom, java.lang.Object aFromPath)
      Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeFrom​(java.lang.Object aFrom, java.lang.Object... aFromPathElements)
      Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeFrom​(java.lang.Object aFrom, java.lang.String aFromPath)
      Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeFrom​(java.lang.Object aFrom, java.lang.String... aFromPathElements)
      Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeFrom​(java.lang.Object aFrom, java.util.Collection<?> aFromPathElements)
      Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process.
      default void mergeFrom​(PathMap<T> aFrom, java.lang.Object aFromPath)
      Method to semantically emphasize that we support our own types.
      default void mergeFrom​(PathMap<T> aFrom, java.lang.Object... aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void mergeFrom​(PathMap<T> aFrom, java.lang.String aFromPath)
      Method to semantically emphasize that we support our own types.
      default void mergeFrom​(PathMap<T> aFrom, java.lang.String... aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void mergeFrom​(PathMap<T> aFrom, java.util.Collection<?> aFromPathElements)
      Method to semantically emphasize that we support our own types.
      default void mergeTo​(java.lang.Object[] aToPathElements, java.lang.Object aFrom)
      Same as merge(Object) though starting merging of object's introspected values at the given "path".
      default void mergeTo​(java.lang.Object[] aToPathElements, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void mergeTo​(java.lang.Object aToPath, java.lang.Object aFrom)
      Same as merge(Object) though starting merging of object's introspected values at the given "path".
      default void mergeTo​(java.lang.Object aToPath, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void mergeTo​(java.lang.String[] aToPathElements, java.lang.Object aFrom)
      Same as merge(Object) though starting merging of object's introspected values at the given "path".
      default void mergeTo​(java.lang.String[] aToPathElements, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void mergeTo​(java.lang.String aToPath, java.lang.Object aFrom)
      Same as merge(Object) though starting merging of object's introspected values at the given "path".
      default void mergeTo​(java.lang.String aToPath, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default void mergeTo​(java.util.Collection<?> aToPathElements, java.lang.Object aFrom)
      Same as merge(Object) though starting merging of object's introspected values at the given "path".
      default void mergeTo​(java.util.Collection<?> aToPathElements, PathMap<T> aFrom)
      Method to semantically emphasize that we support our own types.
      default T put​(java.lang.Object[] aPathElements, T aValue)
      Puts the given value into the child's path, relative to the given parent's path.
      default T put​(java.lang.String[] aPathElements, T aValue)
      Puts the given value into the child's path, relative to the given parent's path.
      default T put​(java.util.Collection<?> aPathElements, T aValue)
      Puts the given value into the child's path, relative to the given parent's path.
      default T put​(Relation<java.lang.String,T> aRelation)
      Adds the given element related to the given key.
      default T[] putArray​(java.lang.Object[] aPathElements, java.util.Collection<T> aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.lang.Object[] aPathElements, T[] aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.lang.Object aPath, java.util.Collection<T> aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.lang.Object aPath, T[] aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.lang.String[] aPathElements, java.util.Collection<T> aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.lang.String[] aPathElements, T[] aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.lang.String aPath, java.util.Collection<T> aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.lang.String aPath, T[] aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.util.Collection<?> aPathElements, java.util.Collection<T> aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.util.Collection<?> aPathElements, T[] aValues)
      Sets the leaves below the given path in an array and replaces any existing array.
      default T[] putArray​(java.util.Collection<T> aValues)
      Applies the putArray(Object[]) method for the root path "/".
      default T[] putArray​(T[] aValues)
      Applies the putArray(Object[]) method for the root path "/".
      default PathMap<T> putDirAt​(int aIndex, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(int aIndex, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.lang.Object[] aPathElements, int aIndex, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.lang.Object[] aPathElements, int aIndex, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.lang.Object aPath, int aIndex, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.lang.Object aPath, int aIndex, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.lang.String[] aPathElements, int aIndex, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.lang.String[] aPathElements, int aIndex, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.lang.String aPath, int aIndex, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.lang.String aPath, int aIndex, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.util.Collection<?> aPathElements, int aIndex, java.lang.Object aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> putDirAt​(java.util.Collection<?> aPathElements, int aIndex, PathMap<T> aDir)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default T putValueAt​(int aIndex, T aValue)
      Puts a value below the root path at the given index as of putArray(String, Object[]).
      default T putValueAt​(java.lang.Object[] aPathElements, int aIndex, T aValue)
      Puts a value below the path at the given index as of putArray(String, Object[]).
      default T putValueAt​(java.lang.Object aPath, int aIndex, T aValue)
      Puts a value below the path at the given index as of putArray(String, Object[]).
      default T putValueAt​(java.lang.String[] aPathElements, int aIndex, T aValue)
      Puts a value below the path at the given index as of putArray(String, Object[]).
      default T putValueAt​(java.lang.String aPath, int aIndex, T aValue)
      Puts a value below the path at the given index as of putArray(String, Object[]).
      default T remove​(java.lang.Object... aPathElements)
      Removes the property as of Map.remove(Object) for the provided path elements (as of PathMap.toPath(Object...)).
      default T remove​(java.lang.String... aPathElements)
      Removes the property as of Map.remove(Object) for the provided path elements (as of PathMap.toPath(String...)).
      default T remove​(java.lang.String aPathElement1, java.lang.String aPathElement2)
      Removes the property as of Map.remove(Object) for the provided path elements (as of PathMap.toPath(String...)).
      default PathMap<T> removeAll​(java.lang.Object aPathQuery)
      Removes all elements which's keys match the provided path query.
      default PathMap<T> removeAll​(java.lang.Object... aPathQueryElements)
      Removes all elements which's keys match the provided path query.
      default PathMap<T> removeAll​(java.lang.String aPathQuery)
      Removes all elements which's keys match the provided path query.
      default PathMap<T> removeAll​(java.lang.String... aPathQueryElements)
      Removes all elements which's keys match the provided path query.
      default PathMap<T> removeAll​(java.util.Collection<?> aPathQueryElements)
      Removes all elements which's keys match the provided path query.
      default PathMap<T> removeAll​(java.util.regex.Pattern aRegExp)
      Removes all elements which's keys match the provided regular expression: Queries the keys of the instance using the provided Pattern
      default PathMap<T> removeDirAt​(int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> removeDirAt​(java.lang.Object[] aPathElements, int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> removeDirAt​(java.lang.Object aPath, int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> removeDirAt​(java.lang.String[] aPathElements, int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> removeDirAt​(java.lang.String aPath, int aIndex)
      An indexed directory represents all elements which begin with a path which's last path element represents an index.
      default PathMap<T> removeFrom​(java.lang.Object aPath)
      Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
      default PathMap<T> removeFrom​(java.lang.Object... aPathElements)
      Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
      default PathMap<T> removeFrom​(java.lang.String aPath)
      Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
      default PathMap<T> removeFrom​(java.lang.String... aPathElements)
      Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
      default PathMap<T> removeFrom​(java.util.Collection<?> aPathElements)
      Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
      default PathMap<T> removePaths​(java.lang.String... aPaths)
      Removes the paths contained in the provided collection.
      default PathMap<T> removePaths​(java.util.Collection<?> aPaths)
      Removes the paths contained in the provided collection.
      default T removeValueAt​(int aIndex)
      Removes the value of an array at the root path with the given array index.
      default T removeValueAt​(java.lang.Object[] aPathElements, int aIndex)
      Removes the value of an array at the given path path with the given array index.
      default T removeValueAt​(java.lang.Object aPath, int aIndex)
      Removes the value of an array at the given path path with the given array index.
      default T removeValueAt​(java.lang.String[] aPathElements, int aIndex)
      Removes the value of an array at the given path path with the given array index.
      default T removeValueAt​(java.lang.String aPath, int aIndex)
      Removes the value of an array at the given path path with the given array index.
      • Methods inherited from interface org.refcodes.mixin.AnnotatorAccessor

        getAnnotator
      • Methods inherited from interface org.refcodes.mixin.DelimiterAccessor

        getDelimiter
      • Methods inherited from interface org.refcodes.mixin.Dumpable

        toDump, toDump, toPrintable
      • Methods inherited from interface java.util.Map

        clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entry, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, of, of, of, of, of, of, of, of, of, of, of, ofEntries, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
      • Methods inherited from interface org.refcodes.mixin.TypeAccessor

        getType
    • Method Detail

      • appendDirTo

        default void appendDirTo​(java.util.Collection<?> aPathElements,
                                 java.lang.Object aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String[]).
        Parameters:
        aPathElements - The path elements of the path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(java.util.Collection<?> aPathElements,
                                 PathMap<T> aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String[]).
        Parameters:
        aPathElements - The path elements of the path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(java.lang.Object aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex().
        Parameters:
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex().
      • appendDirTo

        default void appendDirTo​(java.lang.Object aPath,
                                 java.lang.Object aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String[]).
        Parameters:
        aPath - The path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(java.lang.Object aPath,
                                 PathMap<T> aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String[]).
        Parameters:
        aPath - The path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(java.lang.Object[] aPathElements,
                                 java.lang.Object aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String[]).
        Parameters:
        aPathElements - The path elements of the path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(java.lang.Object[] aPathElements,
                                 PathMap<T> aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String[]).
        Parameters:
        aPathElements - The path elements of the path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(PathMap<T> aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex().
        Parameters:
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex().
      • appendDirTo

        default void appendDirTo​(java.lang.String aPath,
                                 java.lang.Object aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String).
        Parameters:
        aPath - The path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(java.lang.String aPath,
                                 PathMap<T> aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String).
        Parameters:
        aPath - The path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(java.lang.String[] aPathElements,
                                 java.lang.Object aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String).
        Parameters:
        aPathElements - The path elements of the path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendDirTo

        default void appendDirTo​(java.lang.String[] aPathElements,
                                 PathMap<T> aDir)
                          throws java.lang.IllegalArgumentException
        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. Adds all given properties to the next index as of PathMap.nextDirIndex(String).
        Parameters:
        aPathElements - The path elements of the path to which to append the given elements.
        aDir - The values to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • appendValueTo

        default void appendValueTo​(java.util.Collection<?> aPathElements,
                                   T aValue)
                            throws java.lang.IllegalArgumentException
        Adds an element to the next index as of PathMap.nextArrayIndex(String[]).
        Parameters:
        aPathElements - The path elements of the path to which to append the next indexed element.
        aValue - The value to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • appendValueTo

        default void appendValueTo​(java.lang.Object aPath,
                                   T aValue)
                            throws java.lang.IllegalArgumentException
        Adds an element to the next index as of PathMap.nextArrayIndex(String[]).
        Parameters:
        aPath - The path to which to append the next indexed element.
        aValue - The value to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • appendValueTo

        default void appendValueTo​(java.lang.Object[] aPathElements,
                                   T aValue)
                            throws java.lang.IllegalArgumentException
        Adds an element to the next index as of PathMap.nextArrayIndex(String[]).
        Parameters:
        aPathElements - The path elements of the path to which to append the next indexed element.
        aValue - The value to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • appendValueTo

        default void appendValueTo​(java.lang.String aPath,
                                   T aValue)
                            throws java.lang.IllegalArgumentException
        Adds an element to the next index as of PathMap.nextArrayIndex(String).
        Parameters:
        aPath - The path to which to append the next indexed element.
        aValue - The value to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • appendValueTo

        default void appendValueTo​(java.lang.String[] aPathElements,
                                   T aValue)
                            throws java.lang.IllegalArgumentException
        Adds an element to the next index as of PathMap.nextArrayIndex(String).
        Parameters:
        aPathElements - The path elements of the path to which to append the next indexed element.
        aValue - The value to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • appendValueTo

        default void appendValueTo​(T aValue)
                            throws java.lang.IllegalArgumentException
        Adds an element to the next index as of PathMap.nextArrayIndex().
        Parameters:
        aValue - The value to be appended.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex().
      • delete

        default T delete​(java.util.Collection<?> aPathElements)
        Removes an element identified by the given key.
        Parameters:
        aPathElements - The path elements of the path which's element is to be removed.
        Returns:
        The value being removed.
      • delete

        default T delete​(java.lang.Object aPath)
        Removes an element identified by the given key.
        Parameters:
        aPath - The path which's element is to be removed.
        Returns:
        The value being removed.
      • delete

        default T delete​(java.lang.Object[] aPathElements)
        Removes an element identified by the given key.
        Parameters:
        aPathElements - The path elements of the path which's element is to be removed.
        Returns:
        The value being removed.
      • delete

        default T delete​(java.lang.String aPath)
        Removes an element identified by the given key.
        Specified by:
        delete in interface Keys.MutableKeys<K,V>
        Parameters:
        aPath - The key which's element is to be removed.
        Returns:
        The value being removed.
      • delete

        default T delete​(java.lang.String[] aPathElements)
        Removes an element identified by the given key.
        Parameters:
        aPathElements - The path elements of the path which's element is to be removed.
        Returns:
        The value being removed.
      • insert

        default void insert​(java.lang.Object aFrom)
        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:
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • insert

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

        default void insertBetween​(java.util.Collection<?> aToPathElements,
                                   java.lang.Object aFrom,
                                   java.util.Collection<?> aFromPathElements)
        Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertBetween

        default void insertBetween​(java.util.Collection<?> aToPathElements,
                                   PathMap<T> aFrom,
                                   java.util.Collection<?> aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to insertBetween(String, Object, String).
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertBetween

        default void insertBetween​(java.lang.Object aToPath,
                                   java.lang.Object aFrom,
                                   java.lang.Object aFromPath)
        Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPath - The sub-path where to insert the object's introspected values to.
        aFrom - The object 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.
      • insertBetween

        default void insertBetween​(java.lang.Object aToPath,
                                   PathMap<T> aFrom,
                                   java.lang.Object aFromPath)
        Method to semantically emphasize that we support our own types. Actually delegates to insertBetween(String, Object, String).
        Parameters:
        aToPath - The sub-path where to insert the object's introspected values to.
        aFrom - The PathMap 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.
      • insertBetween

        default void insertBetween​(java.lang.Object[] aToPathElements,
                                   java.lang.Object aFrom,
                                   java.lang.Object[] aFromPathElements)
        Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertBetween

        default void insertBetween​(java.lang.Object[] aToPathElements,
                                   PathMap<T> aFrom,
                                   java.lang.Object[] aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to insertBetween(String, Object, String).
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertBetween

        default void insertBetween​(java.lang.String aToPath,
                                   java.lang.Object aFrom,
                                   java.lang.String aFromPath)
        Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPath - The sub-path where to insert the object's introspected values to.
        aFrom - The object 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.
      • insertBetween

        default void insertBetween​(java.lang.String aToPath,
                                   PathMap<T> aFrom,
                                   java.lang.String aFromPath)
        Method to semantically emphasize that we support our own types. Actually delegates to insertBetween(String, Object, String).
        Parameters:
        aToPath - The sub-path where to insert the object's introspected values to.
        aFrom - The PathMap 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.
      • insertBetween

        default void insertBetween​(java.lang.String[] aToPathElements,
                                   java.lang.Object aFrom,
                                   java.lang.String[] aFromPathElements)
        Same as insert(Object) though starting insertion of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertBetween

        default void insertBetween​(java.lang.String[] aToPathElements,
                                   PathMap<T> aFrom,
                                   java.lang.String[] aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to insertBetween(String, Object, String).
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertFrom

        default void insertFrom​(java.lang.Object aFrom,
                                java.util.Collection<?> aFromPathElements)
        Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertFrom

        default void insertFrom​(java.lang.Object aFrom,
                                java.lang.Object aFromPath)
        Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object 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​(java.lang.Object aFrom,
                                java.lang.Object... aFromPathElements)
        Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertFrom

        default void insertFrom​(java.lang.Object aFrom,
                                java.lang.String aFromPath)
        Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object 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​(java.lang.Object aFrom,
                                java.lang.String... aFromPathElements)
        Same as insert(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertFrom

        default void insertFrom​(PathMap<T> aFrom,
                                java.util.Collection<?> aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to insertFrom(Object, String).
        Parameters:
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertFrom

        default void insertFrom​(PathMap<T> aFrom,
                                java.lang.Object aFromPath)
        Method to semantically emphasize that we support our own types. Actually delegates to insertFrom(Object, String).
        Parameters:
        aFrom - The PathMap 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​(PathMap<T> aFrom,
                                java.lang.Object... aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to insertFrom(Object, String).
        Parameters:
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertFrom

        default void insertFrom​(PathMap<T> aFrom,
                                java.lang.String aFromPath)
        Method to semantically emphasize that we support our own types. Actually delegates to insertFrom(Object, String).
        Parameters:
        aFrom - The PathMap 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​(PathMap<T> aFrom,
                                java.lang.String... aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to insertFrom(Object, String).
        Parameters:
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • insertTo

        default void insertTo​(java.util.Collection<?> aToPathElements,
                              java.lang.Object aFrom)
        Same as insert(Object) though starting insertion of object's introspected values at the given "path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • insertTo

        default void insertTo​(java.util.Collection<?> aToPathElements,
                              PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to insertTo(String, Object).
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • insertTo

        default void insertTo​(java.lang.Object aToPath,
                              java.lang.Object aFrom)
        Same as insert(Object) though starting insertion of object's introspected values at the given "path".
        Parameters:
        aToPath - The sub-path where to insert the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • insertTo

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

        default void insertTo​(java.lang.Object[] aToPathElements,
                              java.lang.Object aFrom)
        Same as insert(Object) though starting insertion of object's introspected values at the given "path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • insertTo

        default void insertTo​(java.lang.Object[] aToPathElements,
                              PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to insertTo(String, Object).
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • insertTo

        default void insertTo​(java.lang.String aToPath,
                              java.lang.Object aFrom)
        Same as insert(Object) though starting insertion of object's introspected values at the given "path".
        Parameters:
        aToPath - The sub-path where to insert the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • insertTo

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

        default void insertTo​(java.lang.String[] aToPathElements,
                              java.lang.Object aFrom)
        Same as insert(Object) though starting insertion of object's introspected values at the given "path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • insertTo

        default void insertTo​(java.lang.String[] aToPathElements,
                              PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to insertTo(String, Object).
        Parameters:
        aToPathElements - The path elements of the sub-path where to insert the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • merge

        default void merge​(java.lang.Object aFrom)
        Inspects the given object and adds all elements found in the given object in case the targeted path does not exist or points to a null value. E.g. existing path/value pairs are not overwritten. 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:
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • merge

        default void merge​(PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to merge(Object).
        Parameters:
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeBetween

        default void mergeBetween​(java.util.Collection<?> aToPathElements,
                                  java.lang.Object aFrom,
                                  java.util.Collection<?> aFromPathElements)
        Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeBetween

        default void mergeBetween​(java.util.Collection<?> aToPathElements,
                                  PathMap<T> aFrom,
                                  java.util.Collection<?> aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeBetween(String, Object, String).
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeBetween

        default void mergeBetween​(java.lang.Object aToPath,
                                  java.lang.Object aFrom,
                                  java.lang.Object aFromPath)
        Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPath - The sub-path where to merge the object's introspected values to.
        aFrom - The object 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.
      • mergeBetween

        default void mergeBetween​(java.lang.Object aToPath,
                                  PathMap<T> aFrom,
                                  java.lang.Object aFromPath)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeBetween(String, Object, String).
        Parameters:
        aToPath - The sub-path where to merge the object's introspected values to.
        aFrom - The PathMap 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.
      • mergeBetween

        default void mergeBetween​(java.lang.Object[] aToPathElements,
                                  java.lang.Object aFrom,
                                  java.lang.Object[] aFromPathElements)
        Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeBetween

        default void mergeBetween​(java.lang.Object[] aToPathElements,
                                  PathMap<T> aFrom,
                                  java.lang.Object[] aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeBetween(String, Object, String).
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeBetween

        default void mergeBetween​(java.lang.String aToPath,
                                  java.lang.Object aFrom,
                                  java.lang.String aFromPath)
        Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPath - The sub-path where to merge the object's introspected values to.
        aFrom - The object 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.
      • mergeBetween

        default void mergeBetween​(java.lang.String aToPath,
                                  PathMap<T> aFrom,
                                  java.lang.String aFromPath)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeBetween(String, Object, String).
        Parameters:
        aToPath - The sub-path where to merge the object's introspected values to.
        aFrom - The PathMap 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.
      • mergeBetween

        default void mergeBetween​(java.lang.String[] aToPathElements,
                                  java.lang.Object aFrom,
                                  java.lang.String[] aFromPathElements)
        Same as merge(Object) though starting merging of object's introspected values at the given "to-path" and starting object introspection at the given "from-path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the "from-path" path, them start with the given "to-path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeBetween

        default void mergeBetween​(java.lang.String[] aToPathElements,
                                  PathMap<T> aFrom,
                                  java.lang.String[] aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeBetween(String, Object, String).
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeFrom

        default void mergeFrom​(java.lang.Object aFrom,
                               java.util.Collection<?> aFromPathElements)
        Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeFrom

        default void mergeFrom​(java.lang.Object aFrom,
                               java.lang.Object aFromPath)
        Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object 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.
      • mergeFrom

        default void mergeFrom​(java.lang.Object aFrom,
                               java.lang.Object... aFromPathElements)
        Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeFrom

        default void mergeFrom​(java.lang.Object aFrom,
                               java.lang.String aFromPath)
        Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object 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.
      • mergeFrom

        default void mergeFrom​(java.lang.Object aFrom,
                               java.lang.String... aFromPathElements)
        Same as merge(Object) though starting object introspection at the given "path", e.g. ignoring all paths not starting with the given path during the introspection process. The resulting paths do not start with the provided path.
        Parameters:
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeFrom

        default void mergeFrom​(PathMap<T> aFrom,
                               java.util.Collection<?> aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeFrom(Object, String).
        Parameters:
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeFrom

        default void mergeFrom​(PathMap<T> aFrom,
                               java.lang.Object aFromPath)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeFrom(Object, String).
        Parameters:
        aFrom - The PathMap 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.
      • mergeFrom

        default void mergeFrom​(PathMap<T> aFrom,
                               java.lang.Object... aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeFrom(Object, String).
        Parameters:
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeFrom

        default void mergeFrom​(PathMap<T> aFrom,
                               java.lang.String aFromPath)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeFrom(Object, String).
        Parameters:
        aFrom - The PathMap 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.
      • mergeFrom

        default void mergeFrom​(PathMap<T> aFrom,
                               java.lang.String... aFromPathElements)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeFrom(Object, String).
        Parameters:
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
        aFromPathElements - The path elements of the path from where to start adding elements of the provided object.
      • mergeTo

        default void mergeTo​(java.util.Collection<?> aToPathElements,
                             java.lang.Object aFrom)
        Same as merge(Object) though starting merging of object's introspected values at the given "path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.util.Collection<?> aToPathElements,
                             PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeTo(String, Object).
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.lang.Object aToPath,
                             java.lang.Object aFrom)
        Same as merge(Object) though starting merging of object's introspected values at the given "path".
        Parameters:
        aToPath - The sub-path where to merge the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.lang.Object aToPath,
                             PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeTo(String, Object).
        Parameters:
        aToPath - The sub-path where to merge the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.lang.Object[] aToPathElements,
                             java.lang.Object aFrom)
        Same as merge(Object) though starting merging of object's introspected values at the given "path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.lang.Object[] aToPathElements,
                             PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeTo(String, Object).
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.lang.String aToPath,
                             java.lang.Object aFrom)
        Same as merge(Object) though starting merging of object's introspected values at the given "path".
        Parameters:
        aToPath - The sub-path where to merge the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.lang.String aToPath,
                             PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeTo(String, Object).
        Parameters:
        aToPath - The sub-path where to merge the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.lang.String[] aToPathElements,
                             java.lang.Object aFrom)
        Same as merge(Object) though starting merging of object's introspected values at the given "path".
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The object which is to be inspected with the therein contained values being added with their according determined paths.
      • mergeTo

        default void mergeTo​(java.lang.String[] aToPathElements,
                             PathMap<T> aFrom)
        Method to semantically emphasize that we support our own types. Actually delegates to mergeTo(String, Object).
        Parameters:
        aToPathElements - The path elements of the sub-path where to merge the object's introspected values to.
        aFrom - The PathMap which is to be inspected with the therein contained values being added with their according determined paths.
      • put

        default T put​(java.util.Collection<?> aPathElements,
                      T aValue)
        Puts the given value into the child's path, relative to the given parent's path.
        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 T put​(java.lang.Object[] aPathElements,
                      T aValue)
        Puts the given value into the child's path, relative to the given parent's path.
        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 T put​(Relation<java.lang.String,T> aRelation)
        Adds the given element related to the given key.
        Specified by:
        put in interface Dictionary.MutableDictionary<java.lang.String,T>
        Parameters:
        aRelation - the relation
        Returns:
        The value being replaced by the provided value or null if none value has been replaced.
      • put

        default T put​(java.lang.String[] aPathElements,
                      T aValue)
        Puts the given value into the child's path, relative to the given parent's path.
        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.
      • putArray

        default T[] putArray​(java.util.Collection<?> aPathElements,
                             java.util.Collection<T> aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPathElements - The elements of the path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.util.Collection<?> aPathElements,
                             T[] aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPathElements - The elements of the path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.util.Collection<T> aValues)
        Applies the putArray(Object[]) method for the root path "/".
        Parameters:
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.lang.Object aPath,
                             java.util.Collection<T> aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPath - The path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.lang.Object aPath,
                             T[] aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPath - The path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.lang.Object[] aPathElements,
                             java.util.Collection<T> aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPathElements - The elements of the path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.lang.Object[] aPathElements,
                             T[] aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPathElements - The elements of the path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.lang.String aPath,
                             java.util.Collection<T> aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPath - The path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.lang.String aPath,
                             T[] aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPath - The path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.lang.String[] aPathElements,
                             java.util.Collection<T> aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPathElements - The elements of the path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(java.lang.String[] aPathElements,
                             T[] aValues)
        Sets the leaves below the given path in an array and replaces any existing array. Leaves in a PathMap are reckoned to be part of an array when they belong to the same hierarchy level and when their keys represent integer numbers. Given the below example, the elements below "/animals/dogs" can be represented as an array with five elements (the path is denoted at the left hand side of the assignment ":=" operator and the value at the right and side accordingly):
        • "/animals/dogs/0" := "ace"
        • "/animals/dogs/1" := "bandit"
        • "/animals/dogs/2" := "radar"
        • "/animals/dogs/3" := "echo"
        • "/animals/dogs/4" := "snoopy"
        The resulting array when calling PathMap.getArray(String) for the path "/animals/dogs" would contain {"ace", "bandit", "radar", "echo", "snoopy"}. Calling isArray("/animals/dogs") would return true whereas calling isArray("/animals") would return false.
        Parameters:
        aPathElements - The elements of the path below where to put the array.
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putArray

        default T[] putArray​(T[] aValues)
        Applies the putArray(Object[]) method for the root path "/".
        Parameters:
        aValues - The values to be put.
        Returns:
        An array of the leaves being replaced by the provided elements.
      • putDirAt

        default PathMap<T> putDirAt​(java.util.Collection<?> aPathElements,
                                    int aIndex,
                                    java.lang.Object aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.util.Collection<?> aPathElements,
                                    int aIndex,
                                    PathMap<T> aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(int aIndex,
                                    java.lang.Object aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(int aIndex,
                                    PathMap<T> aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.lang.Object aPath,
                                    int aIndex,
                                    java.lang.Object aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.lang.Object aPath,
                                    int aIndex,
                                    PathMap<T> aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.lang.Object[] aPathElements,
                                    int aIndex,
                                    java.lang.Object aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.lang.Object[] aPathElements,
                                    int aIndex,
                                    PathMap<T> aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.lang.String aPath,
                                    int aIndex,
                                    java.lang.Object aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.lang.String aPath,
                                    int aIndex,
                                    PathMap<T> aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.lang.String[] aPathElements,
                                    int aIndex,
                                    java.lang.Object aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putDirAt

        default PathMap<T> putDirAt​(java.lang.String[] aPathElements,
                                    int aIndex,
                                    PathMap<T> aDir)
                             throws java.lang.IllegalArgumentException
        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.
        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.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isDirIndex(String).
      • putValueAt

        default T putValueAt​(int aIndex,
                             T aValue)
                      throws java.lang.IllegalArgumentException
        Puts a value below the root path at the given index as of putArray(String, Object[]).
        Parameters:
        aIndex - The index of the indexed element.
        aValue - The value to be put at the index.
        Returns:
        The value which has been replaced by the given value.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • putValueAt

        default T putValueAt​(java.lang.Object aPath,
                             int aIndex,
                             T aValue)
                      throws java.lang.IllegalArgumentException
        Puts a value below the path at the given index as of putArray(String, Object[]).
        Parameters:
        aPath - The path where to put the indexed element.
        aIndex - The index of the indexed element.
        aValue - The value to be put at the index.
        Returns:
        The value which has been replaced by the given value.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • putValueAt

        default T putValueAt​(java.lang.Object[] aPathElements,
                             int aIndex,
                             T aValue)
                      throws java.lang.IllegalArgumentException
        Puts a value below the path at the given index as of putArray(String, Object[]).
        Parameters:
        aPathElements - The path elements of the path where to put the indexed element.
        aIndex - The index of the indexed element.
        aValue - The value to be put at the index.
        Returns:
        The value which has been replaced by the given value.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • putValueAt

        default T putValueAt​(java.lang.String aPath,
                             int aIndex,
                             T aValue)
                      throws java.lang.IllegalArgumentException
        Puts a value below the path at the given index as of putArray(String, Object[]).
        Parameters:
        aPath - The path where to put the indexed element.
        aIndex - The index of the indexed element.
        aValue - The value to be put at the index.
        Returns:
        The value which has been replaced by the given value.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • putValueAt

        default T putValueAt​(java.lang.String[] aPathElements,
                             int aIndex,
                             T aValue)
                      throws java.lang.IllegalArgumentException
        Puts a value below the path at the given index as of putArray(String, Object[]).
        Parameters:
        aPathElements - The path elements of the path where to put the indexed element.
        aIndex - The index of the indexed element.
        aValue - The value to be put at the index.
        Returns:
        The value which has been replaced by the given value.
        Throws:
        java.lang.IllegalArgumentException - in case the path does not represent indexed elements as of PathMap.isArrayIndex(String).
      • remove

        default T remove​(java.lang.Object... aPathElements)
        Removes the property as of Map.remove(Object) for the provided path elements (as of PathMap.toPath(Object...)). BEWARE: The method with two arguments as of Map.remove(Object, Object) behaves special as of its inheritance from Map.remove(Object, Object).
        Parameters:
        aPathElements - The elements of the path from where to remove the property.
        Returns:
        the previous value associated with the according path, or null if there was no mapping for the according path.
      • remove

        default T remove​(java.lang.String... aPathElements)
        Removes the property as of Map.remove(Object) for the provided path elements (as of PathMap.toPath(String...)).
        Parameters:
        aPathElements - The elements of the path from where to remove the property.
        Returns:
        the previous value associated with the according path, or null if there was no mapping for the according path.
      • remove

        default T remove​(java.lang.String aPathElement1,
                         java.lang.String aPathElement2)
        Removes the property as of Map.remove(Object) for the provided path elements (as of PathMap.toPath(String...)). This method overloads the method Map.remove(Object, Object) in order to prevent unexpected behavior of the remove(String...) method!
        Parameters:
        aPathElement1 - The first path element of the path from where to remove the property.
        aPathElement2 - The second path element of the path from where to remove the property.
        Returns:
        the previous value associated with the according path, or null if there was no mapping for the according path.
      • removePaths

        default PathMap<T> removePaths​(java.lang.String... aPaths)
        Removes the paths contained in the provided collection.
        Parameters:
        aPaths - The paths to be removed.
        Returns:
        The removed properties.
      • removePaths

        default PathMap<T> removePaths​(java.util.Collection<?> aPaths)
        Removes the paths contained in the provided collection.
        Parameters:
        aPaths - The paths to be removed.
        Returns:
        The removed properties.
      • removeAll

        default PathMap<T> removeAll​(java.lang.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 ("*") matches zero or more characters within a path name. A double asterisk ("**") matches zero or more characters across directory levels. A question mark ("?") matches exactly one character within a path name. The single asterisk ("*"), the double asterisk ("**") and the question mark ("?") we refer to as wildcards.
        Parameters:
        aPathQueryElements - The elements representing your path query including your wildcards.
        Returns:
        The removed properties.
      • removeAll

        default PathMap<T> removeAll​(java.lang.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 ("*") matches zero or more characters within a path name. A double asterisk ("**") matches zero or more characters across directory levels. A question mark ("?") matches exactly one character within a path name. The single asterisk ("*"), the double asterisk ("**") and the question mark ("?") we refer to as wildcards.
        Parameters:
        aPathQueryElements - The elements representing your path query including your wildcards.
        Returns:
        The removed properties.
      • removeAll

        default PathMap<T> removeAll​(java.util.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 ("*") matches zero or more characters within a path name. A double asterisk ("**") matches zero or more characters across directory levels. A question mark ("?") matches exactly one character within a path name. The single asterisk ("*"), the double asterisk ("**") and the question mark ("?") we refer to as wildcards.
        Parameters:
        aPathQueryElements - The elements representing your path query including your wildcards.
        Returns:
        The removed properties.
      • removeAll

        default PathMap<T> removeAll​(java.lang.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 ("*") matches zero or more characters within a path name. A double asterisk ("**") matches zero or more characters across directory levels. A question mark ("?") matches exactly one character within a path name. The single asterisk ("*"), the double asterisk ("**") and the question mark ("?") we refer to as wildcards.
        Parameters:
        aPathQuery - The path query including your wildcards.
        Returns:
        The removed properties.
      • removeAll

        default PathMap<T> removeAll​(java.lang.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 ("*") matches zero or more characters within a path name. A double asterisk ("**") matches zero or more characters across directory levels. A question mark ("?") matches exactly one character within a path name. The single asterisk ("*"), the double asterisk ("**") and the question mark ("?") we refer to as wildcards.
        Parameters:
        aPathQuery - The path query including your wildcards.
        Returns:
        The removed properties.
      • removeAll

        default PathMap<T> removeAll​(java.util.regex.Pattern aRegExp)
        Removes all elements which's keys match the provided regular expression: Queries the keys of the instance using the provided Pattern
        Parameters:
        aRegExp - The regular expression to be used for the query.
        Returns:
        The removed properties.
      • removeDirAt

        default PathMap<T> 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".
        Parameters:
        aIndex - The index which to use.
        Returns:
        The indexed elements without the indexed path "prefixes".
      • removeDirAt

        default PathMap<T> removeDirAt​(java.lang.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".
        Parameters:
        aIndex - The index which to use.
        aPath - The path from which to remove the indexed elements.
        Returns:
        The indexed elements without the indexed path "prefixes".
      • removeDirAt

        default PathMap<T> removeDirAt​(java.lang.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".
        Parameters:
        aIndex - The index which to use.
        aPathElements - The elements of the path from which to remove the indexed elements.
        Returns:
        The indexed elements without the indexed path "prefixes".
      • removeDirAt

        default PathMap<T> removeDirAt​(java.lang.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".
        Parameters:
        aIndex - The index which to use.
        aPath - The path from which to remove the indexed elements.
        Returns:
        The indexed elements without the indexed path "prefixes".
      • removeDirAt

        default PathMap<T> removeDirAt​(java.lang.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".
        Parameters:
        aIndex - The index which to use.
        aPathElements - The elements of the path from which to remove the indexed elements.
        Returns:
        The indexed elements without the indexed path "prefixes".
      • removeFrom

        default PathMap<T> removeFrom​(java.util.Collection<?> aPathElements)
        Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
        Parameters:
        aPathElements - The path elements for the path from where to remove all properties.
        Returns:
        The removed properties.
      • removeFrom

        default PathMap<T> removeFrom​(java.lang.Object... aPathElements)
        Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
        Parameters:
        aPathElements - The path elements for the path from where to remove all properties.
        Returns:
        The removed properties.
      • removeFrom

        default PathMap<T> removeFrom​(java.lang.Object aPath)
        Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
        Parameters:
        aPath - The path from where to remove all properties.
        Returns:
        The removed properties.
      • removeFrom

        default PathMap<T> removeFrom​(java.lang.String aPath)
        Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
        Parameters:
        aPath - The path from where to remove all properties.
        Returns:
        The removed properties.
      • removeFrom

        default PathMap<T> removeFrom​(java.lang.String... aPathElements)
        Removes all properties below the provided path and returns the PathMap with the removed elements, by which the paths exclude the parent's path.
        Parameters:
        aPathElements - The path elements for the path from where to remove all properties.
        Returns:
        The removed properties.
      • removeValueAt

        default T removeValueAt​(int aIndex)
        Removes the value of an array at the root path with the given array index.
        Parameters:
        aIndex - The index inside the array for which to remove the value.
        Returns:
        The removed value.
      • removeValueAt

        default T removeValueAt​(java.lang.Object aPath,
                                int aIndex)
        Removes the value of an array at the given path path with the given array index.
        Parameters:
        aPath - The path pointing to the array.
        aIndex - The index inside the array for which to remove the value.
        Returns:
        The removed value.
      • removeValueAt

        default T removeValueAt​(java.lang.Object[] aPathElements,
                                int aIndex)
        Removes the value of an array at the given path path with the given array index.
        Parameters:
        aPathElements - The path elements for the path pointing to the array.
        aIndex - The index inside the array for which to remove the value.
        Returns:
        The removed value.
      • removeValueAt

        default T removeValueAt​(java.lang.String aPath,
                                int aIndex)
        Removes the value of an array at the given path path with the given array index.
        Parameters:
        aPath - The path pointing to the array.
        aIndex - The index inside the array for which to remove the value.
        Returns:
        The removed value.
      • removeValueAt

        default T removeValueAt​(java.lang.String[] aPathElements,
                                int aIndex)
        Removes the value of an array at the given path path with the given array index.
        Parameters:
        aPathElements - The path elements for the path pointing to the array.
        aIndex - The index inside the array for which to remove the value.
        Returns:
        The removed value.