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
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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Path.AttributeElement
Represents a qualified path to an attribute, including the sibling for repeated properties/attributes to retrieve e.g.static class
Path.ChildAssocElement
Represents a qualified path between a parent and a child node, including the sibling to retrieve e.g.static class
Path.DescendentOrSelfElement
Represents the // or /descendant-or-self::node() xpath elementstatic class
Path.Element
Represents a path element.static class
Path.ParentElement
Represents the /.. xpath elementstatic class
Path.SelfElement
Represents the /. xpath element
-
Constructor Summary
Constructors Constructor Description Path()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Path
append(Path path)
Append the given path of this path.Path
append(Path.Element pathElement)
Appends a path element to the end of the pathboolean
equals(Object o)
Override equals to check equality of Path instancesPath.Element
first()
Path.Element
get(int n)
Path
getBaseNamePath(TenantService tenantService)
int
hashCode()
Override hashCode to check hash equality of Path instancesIterator<Path.Element>
iterator()
Path.Element
last()
Path
prepend(Path path)
Merge the given path into the beginning of this path.Path
prepend(Path.Element pathElement)
Add a path element to the beginning of the path.int
size()
Path
subPath(int depth)
Return a new Path representing this path to the specified depthPath
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.String
toDisplayPath(NodeService nodeService, PermissionService permissionService)
Return the human readable form of the specified node Path.String
toPrefixString(NamespacePrefixResolver resolver)
String
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
-
-
-
-
Method Detail
-
iterator
public Iterator<Path.Element> iterator()
- Specified by:
iterator
in 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)
-
-