Package org.refcodes.structure
Interface CanonicalMap
-
- All Superinterfaces:
Containable
,org.refcodes.mixin.DelimiterAccessor
,Dictionary<java.lang.String,T>
,org.refcodes.mixin.Dumpable
,Keys<java.lang.String,T>
,PathMap<java.lang.String>
,PropertiesAccessorMixin
,org.refcodes.mixin.TypeAccessor<java.lang.String>
- All Known Subinterfaces:
CanonicalMap.CanonicalMapBuilder
,CanonicalMap.MutableCanonicalMap
- All Known Implementing Classes:
CanonicalMapBuilderImpl
,CanonicalMapImpl
public interface CanonicalMap extends PathMap<java.lang.String>, PropertiesAccessorMixin
TheCanonicalMap
is an "intermediate" type adding type and Data-Structure related functionality to any implementing class.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
CanonicalMap.CanonicalMapBuilder
The Interface CanonicalMapBuilder.static interface
CanonicalMap.MutableCanonicalMap
The Interface MutableCanonicalMap.-
Nested classes/interfaces inherited from interface org.refcodes.mixin.DelimiterAccessor
org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B extends org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B>>, org.refcodes.mixin.DelimiterAccessor.DelimiterMutator, org.refcodes.mixin.DelimiterAccessor.DelimiterProperty
-
Nested classes/interfaces inherited from interface org.refcodes.structure.Dictionary
Dictionary.MutableDictionary<K,V>
-
Nested classes/interfaces inherited from interface org.refcodes.structure.Keys
Keys.MutableKeys<K,V>, Keys.MutableValues<K,V>
-
Nested classes/interfaces inherited from interface org.refcodes.structure.PathMap
PathMap.MutablePathMap<T>, PathMap.PathMapBuilder<T>
-
Nested classes/interfaces inherited from interface org.refcodes.structure.PropertiesAccessorMixin
PropertiesAccessorMixin.PropertiesBuilderMixin<T>, PropertiesAccessorMixin.PropertiesMixin, PropertiesAccessorMixin.PropertiesMutatorMixin
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_COMMENT
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
containsValue(java.lang.Object value)
This method is defined for the sake ofMap
conformity.default CanonicalMap
getIndexed(int aIndex)
Returns the accordingly indexed Elements of the root "array" path.default CanonicalMap
getIndexed(java.lang.String aPath, int aIndex)
Returns the accordingly indexed Elements of the root "array" path.default CanonicalMap
query(java.lang.String aPathQuery)
Queries the keys of the instance using thePathMatcher
' matching patterns, similar to the wildcards '*', '?'default CanonicalMap
query(java.lang.String aPathQuery, java.lang.String aFromPath, java.lang.String aToPath)
Queries the keys of the instance using thePathMatcher
' matching patterns, similar to the wildcards '*', '?'default CanonicalMap
queryFrom(java.lang.String aPathQuery, java.lang.String aFromPath)
Queries the keys of the instance using thePathMatcher
' matching patterns, similar to the wildcards '*', '?'default CanonicalMap
queryTo(java.lang.String aPathQuery, java.lang.String aToPath)
Queries the keys of the instance using thePathMatcher
' matching patterns, similar to the wildcards '*', '?'default CanonicalMap
retrieve(java.lang.String aFromPath, java.lang.String aToPath)
default CanonicalMap
retrieveFrom(java.lang.Object aParentPath)
Gets the children elements of the provided parent's path, excluding the parent's path.default CanonicalMap
retrieveFrom(java.lang.Object... aPathElements)
Gets the children elements of the provided parent's path elements, excluding the parent's path.CanonicalMap
retrieveFrom(java.lang.String aFromPath)
default CanonicalMap
retrieveTo(java.lang.Object aToPath)
default CanonicalMap
retrieveTo(java.lang.Object... aToPathElements)
CanonicalMap
retrieveTo(java.lang.String aToPath)
default CanonicalMap
retrieveTo(java.lang.String... aToPathElements)
default <T> void
toInstance(java.lang.String aFromPath, T aInstance)
Updates the instance with thisCanonicalMap
's data.default <T> void
toInstance(T aInstance)
Updates the instance with thisCanonicalMap
's data.default <T> T
toType(java.lang.Class<T> aType)
Creates an instance of the given type filled with thisCanonicalMap
's data.default <T> T
toType(java.lang.String aFromPath, java.lang.Class<T> aType)
Creates an instance of the given type filled with thisCanonicalMap
's data.-
Methods inherited from interface org.refcodes.structure.Containable
isEmpty, size
-
Methods inherited from interface org.refcodes.structure.PathMap
children, children, children, directories, directories, directories, directories, directories, fromExternalKey, get, get, getArray, getArray, getBoolean, getBoolean, getByte, getByte, getCharacter, getCharacter, getDouble, getDouble, getFloat, getFloat, getIndexes, getIndexes, getInteger, getInteger, getLong, getLong, getRootPath, getShort, getShort, hasChildren, hasChildren, hasChildren, hasIndexed, hasIndexed, hasParentPath, isArray, isArray, isArray, isArray, isArray, isChild, isChild, isChild, isDirectory, isDirectory, isDirectory, isDirectory, isIndexed, isIndexed, isPath, isRecord, isRecord, isRecord, isRecord, isRootPath, keySet, paths, paths, paths, paths, paths, queryPaths, records, records, records, records, records, retrieveFrom, toDataStructure, toDataStructure, toExternalKey, toMap, toMap, toNormalizedPath, toNormalizedPath, toParentPath, toPath, toPath
-
Methods inherited from interface org.refcodes.structure.PropertiesAccessorMixin
asArray, asArray, asArray, asArray, asArray, asArray, asBooleanArray, asBooleanArray, asBooleanArray, asBooleanArray, asBooleanArray, asBooleanArray, asByteArray, asByteArray, asByteArray, asByteArray, asByteArray, asByteArray, asCharacterArray, asCharacterArray, asCharacterArray, asCharacterArray, asCharacterArray, asCharacterArray, asDoubleArray, asDoubleArray, asDoubleArray, asDoubleArray, asDoubleArray, asDoubleArray, asFloatArray, asFloatArray, asFloatArray, asFloatArray, asFloatArray, asFloatArray, asIntegerArray, asIntegerArray, asIntegerArray, asIntegerArray, asIntegerArray, asIntegerArray, asLongArray, asLongArray, asLongArray, asLongArray, asLongArray, asLongArray, asShortArray, asShortArray, asShortArray, asShortArray, asShortArray, asShortArray, containsKey, get, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getCharacter, getCharacter, getCharacter, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInteger, getInteger, getInteger, getLong, getLong, getLong, getShort, getShort, getShort, use, useBoolean, useBoolean, useByte, useByte, useDouble, useDouble, useFloat, useFloat, useInteger, useInteger, useLong, useLong, useShort, useShort
-
-
-
-
Method Detail
-
toType
default <T> T toType(java.lang.Class<T> aType)
Creates an instance of the given type filled with thisCanonicalMap
's data.- Type Parameters:
T
- the generic type if which to create an instance.- Parameters:
aType
- the type if the instance to be filled with the herein contained data.- Returns:
- the instance initialized with the herein contained data.
-
toType
default <T> T toType(java.lang.String aFromPath, java.lang.Class<T> aType)
Creates an instance of the given type filled with thisCanonicalMap
's data.- Type Parameters:
T
- the generic type if which to create an instance.- Parameters:
aFromPath
- The path representing the root from which to take the data for the instance.aType
- the type if the instance to be filled with the herein contained data.- Returns:
- the instance initialized with the herein contained data.
-
toInstance
default <T> void toInstance(T aInstance)
Updates the instance with thisCanonicalMap
's data. Instances inside the instance may not be updated!- Type Parameters:
T
- the generic type if which to create an instance.- Parameters:
aInstance
- The instance to be updated with the herein contained data.
-
toInstance
default <T> void toInstance(java.lang.String aFromPath, T aInstance)
Updates the instance with thisCanonicalMap
's data. Instances inside the instance may not be updated!- Type Parameters:
T
- the generic type if which to create an instance.- Parameters:
aFromPath
- The path representing the root from which to take the data for the instance.aInstance
- The instance to be updated with the herein contained data.
-
containsValue
default boolean containsValue(java.lang.Object value)
This method is defined for the sake ofMap
conformity. Tests whether the provided value has a key assigned.- Specified by:
containsValue
in interfaceKeys<java.lang.String,T>
- Parameters:
value
- The value to test if a key references this value.- Returns:
- True in case the given value is referenced by a key.
-
retrieveTo
CanonicalMap retrieveTo(java.lang.String aToPath)
Extracts a newPathMap
from thisPathMap
's elements with the paths relocated to the provided "to-path". Given we have a value for path "/dog/cat" in thePathMap
and we callPathMap.retrieveTo(String)
with "/animals", then the resultingPathMap
will contain the path "/animals/dog/cat" for that value.- Specified by:
retrieveTo
in interfacePathMap<java.lang.String>
- Parameters:
aToPath
- The path where to relocate the paths of thisPathMap
to.- Returns:
- The
PathMap
with the elements from the providedPathMap
with accordingly relocated paths.
-
retrieveTo
default CanonicalMap retrieveTo(java.lang.Object aToPath)
Extracts a newPathMap
from thisPathMap
's elements with the paths relocated to the provided "to-path". Given we have a value for path "/dog/cat" in thePathMap
and we callPathMap.retrieveTo(String)
with "/animals", then the resultingPathMap
will contain the path "/animals/dog/cat" for that value.- Specified by:
retrieveTo
in interfacePathMap<java.lang.String>
- Parameters:
aToPath
- The path where to relocate the paths of thisPathMap
to.- Returns:
- The
PathMap
with the elements from the providedPathMap
with accordingly relocated paths.
-
retrieveTo
default CanonicalMap retrieveTo(java.lang.String... aToPathElements)
Extracts a newPathMap
from thisPathMap
's elements with the paths relocated to the provided "to-path". Given we have a value for path "/dog/cat" in thePathMap
and we callPathMap.retrieveTo(String)
with "/animals", then the resultingPathMap
will contain the path "/animals/dog/cat" for that value.- Specified by:
retrieveTo
in interfacePathMap<java.lang.String>
- Parameters:
aToPathElements
- The path elements representing the path where to relocate the paths of thisPathMap
to.- Returns:
- The
PathMap
with the elements from the providedPathMap
with accordingly relocated paths.
-
retrieveTo
default CanonicalMap retrieveTo(java.lang.Object... aToPathElements)
Extracts a newPathMap
from thisPathMap
's elements with the paths relocated to the provided "to-path". Given we have a value for path "/dog/cat" in thePathMap
and we callPathMap.retrieveTo(String)
with "/animals", then the resultingPathMap
will contain the path "/animals/dog/cat" for that value.- Specified by:
retrieveTo
in interfacePathMap<java.lang.String>
- Parameters:
aToPathElements
- The path elements representing the path where to relocate the paths of thisPathMap
to.- Returns:
- The
PathMap
with the elements from the providedPathMap
with accordingly relocated paths.
-
retrieveFrom
CanonicalMap retrieveFrom(java.lang.String aFromPath)
Extracts a newPathMap
from the elements of thisPathMap
found below the "from-path". The sub-paths will be the root paths for the newPathMap
. Given we have a value for path "/dog/cat" in thePathMap
and we callPathMap.retrieveFrom(String)
with "/dog", then the resultingPathMap
will contain the path "/cat" for that value.- Specified by:
retrieveFrom
in interfacePathMap<java.lang.String>
- Parameters:
aFromPath
- The path from where to start extracting the paths.- Returns:
- The
PathMap
with the elements below the provided path which are root elements in the newPathMap
.
-
retrieveFrom
default CanonicalMap retrieveFrom(java.lang.Object aParentPath)
Gets the children elements of the provided parent's path, excluding the parent's path.- Specified by:
retrieveFrom
in interfacePathMap<java.lang.String>
- Parameters:
aParentPath
- The path from where to retrieve the children.- Returns:
- The children of the given parent's path.
-
retrieveFrom
default CanonicalMap retrieveFrom(java.lang.Object... aPathElements)
Gets the children elements of the provided parent's path elements, excluding the parent's path.- Specified by:
retrieveFrom
in interfacePathMap<java.lang.String>
- Parameters:
aPathElements
- The path elements from where to retrieve the children.- Returns:
- The children of the given parent's path.
-
retrieve
default CanonicalMap retrieve(java.lang.String aFromPath, java.lang.String aToPath)
Extracts a newPathMap
from the elements of thisPathMap
found below the "from-path". The sub-paths will be relocated to the provided "to-path".- Specified by:
retrieve
in interfacePathMap<java.lang.String>
- Parameters:
aFromPath
- The path from where to start extracting the paths.aToPath
- The path where to relocate the extracted paths to.- Returns:
- The
PathMap
with the elements below the provided path "from-path" relocated to the given "to-path".
-
getIndexed
default CanonicalMap getIndexed(int aIndex)
Returns the accordingly indexed Elements of the root "array" 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/".- Specified by:
getIndexed
in interfacePathMap<java.lang.String>
- Parameters:
aIndex
- The index which to use.- Returns:
- The indexed elements without the index in the paths.
-
getIndexed
default CanonicalMap getIndexed(java.lang.String aPath, int aIndex)
Returns the accordingly indexed Elements of the root "array" 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/".- Specified by:
getIndexed
in interfacePathMap<java.lang.String>
- Parameters:
aPath
- The path from which to get the indexed elements.aIndex
- The index which to use.- Returns:
- The indexed elements without the index in the paths.
-
query
default CanonicalMap query(java.lang.String aPathQuery)
Queries the keys of the instance using thePathMatcher
' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: ThePathMatcher
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.
-
queryTo
default CanonicalMap queryTo(java.lang.String aPathQuery, java.lang.String aToPath)
Queries the keys of the instance using thePathMatcher
' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: ThePathMatcher
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.
-
queryFrom
default CanonicalMap queryFrom(java.lang.String aPathQuery, java.lang.String aFromPath)
Queries the keys of the instance using thePathMatcher
' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: ThePathMatcher
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.- Specified by:
queryFrom
in interfacePathMap<java.lang.String>
- Parameters:
aPathQuery
- The path query including your wildcards.aFromPath
- The path from where to start querying and extracting the paths.- Returns:
- The result contains the matching paths (with respect to the from-path) with the according values.
-
query
default CanonicalMap query(java.lang.String aPathQuery, java.lang.String aFromPath, java.lang.String aToPath)
Queries the keys of the instance using thePathMatcher
' matching patterns, similar to the wildcards '*', '?' and '**' known when querying folders of a filesystem: ThePathMatcher
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.- Specified by:
query
in interfacePathMap<java.lang.String>
- Parameters:
aPathQuery
- The path query including your wildcards.aFromPath
- The path from where to start querying and extracting the paths.aToPath
- The path where to relocate the result to.- Returns:
- The result contains the matching paths (with respect to the from-path and the to-path) with the according values.
-
-