Modifier and Type | Field and Description |
---|---|
static java.lang.String |
GLOB_PREFIX
The prefix to be used for glob patterns
|
Constructor and Description |
---|
Path(java.lang.String path)
Create a new path object either from a concrete path or from a glob pattern.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Path o) |
boolean |
equals(java.lang.Object obj) |
java.lang.String |
getPath()
Return the path if this
Path object holds a path,
returns the pattern otherwise. |
int |
hashCode() |
boolean |
isPattern()
Returns {code true} if this
Path object is holding a pattern |
boolean |
matches(java.lang.String otherPath)
If this
Path 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. |
java.lang.String |
toString() |
public static final java.lang.String GLOB_PREFIX
public Path(@Nonnull java.lang.String 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:
*
character matches zero or more characters of a name component without crossing directory boundaries.**
characters match zero or more characters crossing directory boundaries.path
- The resource path or a glob pattern.java.lang.NullPointerException
- If otherPath
is null
java.lang.IllegalArgumentException
- If the provided path is not absolute, or if the glob pattern does not start with a slash.public boolean matches(java.lang.String otherPath)
Path
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 returns true
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 is
glob:/apps/foo/bar/*.jsp
this method will return true. Same if
the provided pattern is glob:/apps/**/hello.html
.
If this Path
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 only true
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 returns false
.otherPath
- Absolute path to check.true
If other path is within the sub tree of this path
or matches the pattern.java.lang.NullPointerException
- If otherPath
is null
java.lang.IllegalArgumentException
- If the provided path is not absolute, or if the glob pattern does not start with a slash.isPattern()
public java.lang.String getPath()
Path
object holds a path,
returns the pattern otherwise.isPattern()
public boolean isPattern()
Path
object is holding a patternfalse
for a path.public int compareTo(@Nonnull Path o)
compareTo
in interface java.lang.Comparable<Path>
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2018 The Apache Software Foundation. All rights reserved.