@ProviderType
public interface RequestPathInfo
Decomposition of a Request URL
content path
- The longest substring of the request
URI resolving to a Resource
object such
that the content path is either the complete request URI or the next
character in the request URI after the content path is either a dot (.
)
or a slash (/
).
selectors
- If the first character in the
request URI after the content path is a dot, the string after the dot upto
but not including the last dot before the next slash character or the end of
the request URI. If the content path spans the complete request URI or if a
slash follows the content path in the request, then no selectors exist. If
only one dot follows the content path before the end of the request URI or
the next slash, no selectors exist. The selectors are available as
a single string
and as an
array of strings
, which is the selector string
splitted on dots.
extension
- The string after the last dot after
the content path in the request uri but before the end of the request uri or
the next slash after the content path in the request uri. If the content path
spans the complete request URI or a slash follows the content path in the
request URI, the extension is empty.
suffix path
- If the request URI contains a slash
character after the content path and optional selectors and extension, the
path starting with the slash up to the end of the request URI is the suffix
path.
Examples:
URI | Content Path | Selectors | Extension | Suffix |
---|---|---|---|---|
/a/b | /a/b | null | null | null |
/a/b.html | /a/b | null | html | null |
/a/b.s1.html | /a/b | s1 | html | null |
/a/b.s1.s2.html | /a/b | s1.s2 | html | null |
/a/b/c/d | /a/b | null | null | /c/d |
/a/b.html/c/d | /a/b | null | html | /c/d |
/a/b.s1.html/c/d | /a/b | s1 | html | /c/d |
/a/b.s1.s2.html/c/d | /a/b | s1.s2 | html | /c/d |
/a/b/c/d.s.txt | /a/b | null | null | /c/d.s.txt |
/a/b.html/c/d.s.txt | /a/b | null | html | /c/d.s.txt |
/a/b.s1.html/c/d.s.txt | /a/b | s1 | html | /c/d.s.txt |
/a/b.s1.s2.html/c/d.s.txt | /a/b | s1.s2 | html | /c/d.s.txt |
Modifier and Type | Method and Description |
---|---|
@Nullable java.lang.String |
getExtension()
Returns the extension from the URL or
null if the request
URL does not contain an extension. |
@NotNull java.lang.String |
getResourcePath()
Return the "resource path" part of the URL, what comes before selectors,
extension and suffix.
|
@NotNull java.lang.String[] |
getSelectors()
Returns the selectors decoded from the request URL as an array of
strings.
|
@Nullable java.lang.String |
getSelectorString()
Returns the selectors decoded from the request URL as string.
|
@Nullable java.lang.String |
getSuffix()
Returns the suffix part of the URL or
null if the request
URL does not contain a suffix. |
@Nullable Resource |
getSuffixResource()
Returns the resource addressed by the suffix or null if the request does
not have a suffix or the suffix does not address an accessible resource.
|
@NotNull @NotNull java.lang.String getResourcePath()
Resource.getPath()
.
Rather it is equal to the
resolution path metadata property
of the resource.@Nullable @Nullable java.lang.String getExtension()
null
if the request
URL does not contain an extension.
Decomposition of the request URL is defined in the Decomposition of a Request URL above.
@Nullable @Nullable java.lang.String getSelectorString()
null
if the request has no selectors.
Decomposition of the request URL is defined in the Decomposition of a Request URL above.
null
getSelectors()
@NotNull @NotNull java.lang.String[] getSelectors()
selector string
by splitting the string on
dots. Returns an empty array if the request has no selectors.
Decomposition of the request URL is defined in the Decomposition of a Request URL above.
getSelectorString()
@Nullable @Nullable java.lang.String getSuffix()
null
if the request
URL does not contain a suffix.
Decomposition of the request URL is defined in the Decomposition of a Request URL above.
@Nullable @Nullable Resource getSuffixResource()
The suffix is expected to be the absolute path to the resource suitable
as an argument to the
ResourceResolver.getResource(String)
method.
null
.Copyright © 2022 The Apache Software Foundation. All rights reserved.