Package com.day.cq.commons
Class PathInfo
java.lang.Object
com.day.cq.commons.PathInfo
- All Implemented Interfaces:
RequestPathInfo
Utility class for creating a sling
RequestPathInfo
by parsing a URL
path. Note that this does not check for the existence of the resource and
finding the longest-matching path as the default Sling resource resolution
does, it only works by parsing the raw string.
The parsing structure looks like this:
/resource/path.selector.ext/suffix
. The rules are (following the
Sling convention):
- extension is everything between the last dot in the URL and the next slash (or the end of the string)
- suffix is everything after the extension (including the slash)
- resource path is everything from the start up to the first dot after the last slash (excluding extension and suffix)
- selectors are the dot-separated elements between the path and the extension
-
Constructor Summary
ConstructorsConstructorDescriptionCreates aRequestPathInfo
by parsing the path part of a URL.PathInfo
(ResourceResolver resolver, String urlPath) -
Method Summary
Modifier and TypeMethodDescriptionReturns the extension from the URL ornull
if the request URL does not contain an extension.Return the "resource path" part of the URL, what comes before selectors, extension and suffix.String[]
Returns the selectors decoded from the request URL as an array of strings.Returns the selectors decoded from the request URL as string.Returns the suffix part of the URL ornull
if the request URL does not contain a suffix.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.
-
Constructor Details
-
PathInfo
Creates aRequestPathInfo
by parsing the path part of a URL. This method does not support url path suffixes containing dots (".").- Parameters:
urlPath
- the path part of a URL
-
PathInfo
Create aRequestPathInfo
object using the givenResourceResolver
andurlPath
. The resolver is used to map the underlying resource and reliably disassemble the urlPath into its segments.- Parameters:
resolver
- The resource resolver.urlPath
- The url path.
-
-
Method Details
-
getResourcePath
Description copied from interface:RequestPathInfo
Return the "resource path" part of the URL, what comes before selectors, extension and suffix. This string is part of the request URL and need not be equal to theResource.getPath()
. Rather it is equal to theresolution path metadata property
of the resource.- Specified by:
getResourcePath
in interfaceRequestPathInfo
- Returns:
- The resource path
-
getSelectorString
Description copied from interface:RequestPathInfo
Returns the selectors decoded from the request URL as string. Returnsnull
if the request has no selectors.Decomposition of the request URL is defined in the Decomposition of a Request URL above.
- Specified by:
getSelectorString
in interfaceRequestPathInfo
- Returns:
- The selector string or
null
- See Also:
-
getSelectors
Description copied from interface:RequestPathInfo
Returns the selectors decoded from the request URL as an array of strings. This array is derived from theselector 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.
- Specified by:
getSelectors
in interfaceRequestPathInfo
- Returns:
- An array of selectors
- See Also:
-
getExtension
Description copied from interface:RequestPathInfo
Returns the extension from the URL ornull
if the request URL does not contain an extension.Decomposition of the request URL is defined in the Decomposition of a Request URL above.
- Specified by:
getExtension
in interfaceRequestPathInfo
- Returns:
- The extension from the request URL.
-
getSuffix
Description copied from interface:RequestPathInfo
Returns the suffix part of the URL ornull
if the request URL does not contain a suffix.Decomposition of the request URL is defined in the Decomposition of a Request URL above.
- Specified by:
getSuffix
in interfaceRequestPathInfo
- Returns:
- The suffix part of the request URL.
-
getSuffixResource
Description copied from interface:RequestPathInfo
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.The suffix is expected to be the absolute path to the resource suitable as an argument to the
ResourceResolver.getResource(String)
method.- Specified by:
getSuffixResource
in interfaceRequestPathInfo
- Returns:
- The suffix resource or
null
.
-