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/z
In 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
Pathinstance 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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPath.AttributeElementRepresents a qualified path to an attribute, including the sibling for repeated properties/attributes to retrieve e.g.static classPath.ChildAssocElementRepresents a qualified path between a parent and a child node, including the sibling to retrieve e.g.static classPath.DescendentOrSelfElementRepresents the // or /descendant-or-self::node() xpath elementstatic classPath.ElementRepresents a path element.static classPath.ParentElementRepresents the /.. xpath elementstatic classPath.SelfElementRepresents the /. xpath element
-
Constructor Summary
Constructors Constructor Description Path()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Pathappend(Path path)Append the given path of this path.Pathappend(Path.Element pathElement)Appends a path element to the end of the pathbooleanequals(Object o)Override equals to check equality of Path instancesPath.Elementfirst()Path.Elementget(int n)PathgetBaseNamePath(TenantService tenantService)inthashCode()Override hashCode to check hash equality of Path instancesIterator<Path.Element>iterator()Path.Elementlast()Pathprepend(Path path)Merge the given path into the beginning of this path.Pathprepend(Path.Element pathElement)Add a path element to the beginning of the path.intsize()PathsubPath(int depth)Return a new Path representing this path to the specified depthPathsubPath(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.StringtoDisplayPath(NodeService nodeService, PermissionService permissionService)Return the human readable form of the specified node Path.StringtoPrefixString(NamespacePrefixResolver resolver)StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
iterator
public Iterator<Path.Element> iterator()
- Specified by:
iteratorin interfaceIterable<Path.Element>- Returns:
- Returns a typed iterator over the path elements
-
prepend
public Path prepend(Path.Element pathElement)
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
public Path prepend(Path path)
Merge the given path into the beginning of this path.- Parameters:
path- Path- Returns:
- Returns this instance of the path
-
append
public Path append(Path.Element pathElement)
Appends a path element to the end of the path- Parameters:
pathElement- Path.Element- Returns:
- Returns this instance of the path
-
append
public Path append(Path path)
Append the given path of this path.- Parameters:
path- Path- Returns:
- Returns this instance of the path
-
first
public Path.Element first()
- Returns:
- Returns the first element in the path or null if the path is empty
-
last
public Path.Element last()
- Returns:
- Returns the last element in the path or null if the path is empty
-
size
public int size()
-
get
public Path.Element get(int n)
-
toString
public String toString()
-
toPrefixString
public String toPrefixString(NamespacePrefixResolver resolver)
- Returns:
- Returns a string path made up of the component elements of this instance (prefixed where appropriate)
-
toDisplayPath
public String toDisplayPath(NodeService nodeService, PermissionService permissionService)
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
public Path subPath(int depth)
Return a new Path representing this path to the specified depth- Parameters:
depth- the path depth (0 based)- Returns:
- the sub-path
-
subPath
public Path subPath(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.- Parameters:
start- position (0 based)end- position (0 based)- Returns:
- the sub-path
-
equals
public boolean equals(Object o)
Override equals to check equality of Path instances
-
hashCode
public int hashCode()
Override hashCode to check hash equality of Path instances
-
getBaseNamePath
public Path getBaseNamePath(TenantService tenantService)
-
-