Class Path
java.lang.Object
org.alfresco.service.cmr.repository.Path
- All Implemented Interfaces:
Serializable
,Iterable<Path.Element>
@AlfrescoPublicApi
public final class Path
extends Object
implements Iterable<Path.Element>, Serializable
Representation of a simple path e.g.
/x/y/zIn the above example, there will be 4 elements, the first being a reference to the root node, followed by qname elements for x, y and z.
Methods and constructors are available to construct a Path
instance
from a path string or by building the path incrementally, including the ability to
append and prepend path elements.
Path elements supported:
- /{namespace}name fully qualified element
- /name element using default namespace
- /{namespace}name[n] nth sibling
- /name[n] nth sibling using default namespace
- /descendant-or-self::node() descendent or self
- /. self
- /.. parent
- Author:
- Derek Hulley
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Represents a qualified path to an attribute, including the sibling for repeated properties/attributes to retrieve e.g.static class
Represents a qualified path between a parent and a child node, including the sibling to retrieve e.g.static class
Represents the // or /descendant-or-self::node() xpath elementstatic class
Represents a path element.static class
Represents the /.. xpath elementstatic class
Represents the /. xpath element -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAppend the given path of this path.append
(Path.Element pathElement) Appends a path element to the end of the pathboolean
Override equals to check equality of Path instancesfirst()
get
(int n) getBaseNamePath
(TenantService tenantService) int
hashCode()
Override hashCode to check hash equality of Path instancesiterator()
last()
Merge the given path into the beginning of this path.prepend
(Path.Element pathElement) Add a path element to the beginning of the path.int
size()
subPath
(int depth) Return a new Path representing this path to the specified depthsubPath
(int start, int end) Return a new Path representing this path to the specified depth For example, subPath(2, 4) would return the third and forth elements in the Path.toDisplayPath
(NodeService nodeService, PermissionService permissionService) Return the human readable form of the specified node Path.toPrefixString
(NamespacePrefixResolver resolver) toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
Path
public Path()
-
-
Method Details
-
iterator
- Specified by:
iterator
in interfaceIterable<Path.Element>
- Returns:
- Returns a typed iterator over the path elements
-
prepend
Add a path element to the beginning of the path. This operation is useful in cases where a path is built by traversing up a hierarchy.- Parameters:
pathElement
- Path.Element- Returns:
- Returns this instance of the path
-
prepend
Merge the given path into the beginning of this path.- Parameters:
path
- Path- Returns:
- Returns this instance of the path
-
append
Appends a path element to the end of the path- Parameters:
pathElement
- Path.Element- Returns:
- Returns this instance of the path
-
append
Append the given path of this path.- Parameters:
path
- Path- Returns:
- Returns this instance of the path
-
first
- Returns:
- Returns the first element in the path or null if the path is empty
-
last
- Returns:
- Returns the last element in the path or null if the path is empty
-
size
public int size() -
get
-
toString
-
toPrefixString
- Returns:
- Returns a string path made up of the component elements of this instance (prefixed where appropriate)
-
toDisplayPath
Return the human readable form of the specified node Path. Slow version of the method that extracts the name of each node in the Path from the supplied NodeService.- Returns:
- human readable form of the Path excluding the final element
-
subPath
Return a new Path representing this path to the specified depth- Parameters:
depth
- the path depth (0 based)- Returns:
- the sub-path
-
subPath
Return a new Path representing this path to the specified depth For example, subPath(2, 4) would return the third and forth elements in the Path.- Parameters:
start
- position (0 based)end
- position (0 based)- Returns:
- the sub-path
-
equals
Override equals to check equality of Path instances -
hashCode
public int hashCode()Override hashCode to check hash equality of Path instances -
getBaseNamePath
-