Class Path
java.lang.Object
org.apache.sling.api.resource.path.Path
- All Implemented Interfaces:
Comparable<Path>
Simple helper class for path matching.
- Since:
- 1.0.0 (Sling API Bundle 2.11.0)
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
boolean
getPath()
Return the path if thisPath
object holds a path, returns the pattern otherwise.int
hashCode()
boolean
Returns {code true} if thisPath
object is holding a patternboolean
If thisPath
object holds a path (and not a pattern), this method checks whether the provided path is equal to this path or a sub path of it.toString()
-
Field Details
-
GLOB_PREFIX
The prefix to be used for glob patterns- Since:
- 1.2.0 (Sling API Bundle 2.15.0)
- See Also:
-
-
Constructor Details
-
Path
Create a new path object either from a concrete path or from a glob pattern.
A glob pattern must start with the
glob:
prefix (e.g.glob:**/*.html
). The following rules are used to interpret glob patterns:- The
*
character matches zero or more characters of a name component without crossing directory boundaries. - The
**
characters match zero or more characters crossing directory boundaries.
- Parameters:
path
- The resource path or a glob pattern.- Throws:
NullPointerException
- IfotherPath
isnull
IllegalArgumentException
- If the provided path is not absolute, or if the glob pattern does not start with a slash.
- The
-
-
Method Details
-
matches
If thisPath
object holds a path (and not a pattern), this method checks whether the provided path is equal to this path or a sub path of it. If a glob pattern is provided as the argument, it performs the same check and respects the provided pattern. This means it returnstrue
if this path is a parent to any potential path matching the provided pattern. For example if this path is/apps/foo
and the provided pattern isglob:/apps/foo/bar/*.jsp
this method will return true. Same if the provided pattern isglob:/apps/**/hello.html
. If thisPath
object holds a pattern, it checks whether the provided path matches the pattern. If this path object holds a pattern and a pattern is provided as the argument, it returns onlytrue
if the pattern is the same. If the provided argument is not an absolute path (e.g. if it is a relative path or a pattern), this method returnsfalse
.- Parameters:
otherPath
- Absolute path to check.- Returns:
true
If other path is within the sub tree of this path or matches the pattern.- Throws:
NullPointerException
- IfotherPath
isnull
IllegalArgumentException
- If the provided path is not absolute, or if the glob pattern does not start with a slash.- See Also:
-
getPath
Return the path if thisPath
object holds a path, returns the pattern otherwise.- Returns:
- The path or pattern.
- See Also:
-
isPattern
public boolean isPattern()Returns {code true} if thisPath
object is holding a pattern- Returns:
- {code true} for a pattern,
false
for a path. - Since:
- 1.2.0 (Sling API Bundle 2.15.0)
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Path>
-
hashCode
public int hashCode() -
equals
-
toString
-