public interface PathContainer
parsePath(String)
into a sequence of PathContainer.Separator
and PathContainer.PathSegment
elements.
Each PathContainer.PathSegment
exposes its content in decoded form and with path
parameters removed. This makes it safe to match one path segment at a time
without the risk of decoded reserved characters altering the structure of
the path.
Modifier and Type | Interface and Description |
---|---|
static interface |
PathContainer.Element
A path element, either separator or path segment.
|
static class |
PathContainer.Options
Options to customize parsing based on the type of input path.
|
static interface |
PathContainer.PathSegment
Path segment element.
|
static interface |
PathContainer.Separator
Path separator element.
|
Modifier and Type | Method and Description |
---|---|
List<PathContainer.Element> |
elements()
The contained path elements, either
PathContainer.Separator or PathContainer.PathSegment . |
static PathContainer |
parsePath(String path)
|
static PathContainer |
parsePath(String path,
PathContainer.Options options)
Parse the path value into a sequence of
Separator and
PathSegment elements. |
default PathContainer |
subPath(int index)
Extract a sub-path from the given offset into the elements list.
|
default PathContainer |
subPath(int startIndex,
int endIndex)
Extract a sub-path from the given start offset into the element list
(inclusive) and to the end offset (exclusive).
|
String |
value()
The original path from which this instance was parsed.
|
String value()
List<PathContainer.Element> elements()
PathContainer.Separator
or PathContainer.PathSegment
.default PathContainer subPath(int index)
index
- the start element index (inclusive)default PathContainer subPath(int startIndex, int endIndex)
startIndex
- the start element index (inclusive)endIndex
- the end element index (exclusive)static PathContainer parsePath(String path)
path
- the encoded, raw path value to parsestatic PathContainer parsePath(String path, PathContainer.Options options)
Separator
and
PathSegment
elements.path
- the encoded, raw path value to parseoptions
- to customize parsing