Interface ResourceMapper
-
@ProviderType public interface ResourceMapper
Allows access to resource mappingsThis interface superceeds the resource mapping functionality present in the
ResourceResolver
. Although the methods present in that interface will continue to work, the resource mapper will provide better APIs to access the resource mappings.Implementations of this class are obtained by adapting a
ResourceResolver
instance. As such, the mappings returned by its methods reflect the repository permissions of the underyling resolver instance.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Collection<java.lang.String>
getAllMappings(@NotNull java.lang.String resourcePath)
Returns all possible mappings for a givenresourcePath
as paths.java.util.Collection<java.lang.String>
getAllMappings(@NotNull java.lang.String resourcePath, @NotNull HttpServletRequest request)
Returns all possible mappings for a givenresourcePath
as URLs.@NotNull java.lang.String
getMapping(@NotNull java.lang.String resourcePath)
Returns a path mapped from the (resource) path applying the reverse mapping used by theResourceResolver.resolve(String)
such that when the path is given to theResourceResolver.resolve(String)
method the same resource is returned.@NotNull java.lang.String
getMapping(@NotNull java.lang.String resourcePath, @NotNull HttpServletRequest request)
Returns an URL mapped from the (resource) path applying the reverse mapping used by theResourceResolver.resolve(HttpServletRequest, String)
such that when the path is given to theResourceResolver.resolve(HttpServletRequest, String)
method the same resource is returned.
-
-
-
Method Detail
-
getMapping
@NotNull @NotNull java.lang.String getMapping(@NotNull @NotNull java.lang.String resourcePath)
Returns a path mapped from the (resource) path applying the reverse mapping used by theResourceResolver.resolve(String)
such that when the path is given to theResourceResolver.resolve(String)
method the same resource is returned.Note, that technically the
resourcePath
need not refer to an existing resource. This method just applies the mappings and returns the resulting string. If theresourcePath
does not address an existing resource roundtripping may of course not work and callingResourceResolver.resolve(String)
with the path returned may returnnull
.This method is intended as the reverse operation of the
ResourceResolver.resolve(String)
method.- Parameters:
resourcePath
- The path for which to return a mapped path.- Returns:
- The mapped path.
- Throws:
java.lang.IllegalStateException
- if the underlying resource resolver has already beenclosed
.- Since:
- 1.0.0 (Sling API Bundle 2.19.0)
-
getMapping
@NotNull @NotNull java.lang.String getMapping(@NotNull @NotNull java.lang.String resourcePath, @NotNull @NotNull HttpServletRequest request)
Returns an URL mapped from the (resource) path applying the reverse mapping used by theResourceResolver.resolve(HttpServletRequest, String)
such that when the path is given to theResourceResolver.resolve(HttpServletRequest, String)
method the same resource is returned.Note, that technically the
resourcePath
need not refer to an existing resource. This method just applies the mappings and returns the resulting string. If theresourcePath
does not address an existing resource roundtripping may of course not work and callingResourceResolver.resolve(HttpServletRequest, String)
with the path returned may returnnull
.This method is intended as the reverse operation of the
ResourceResolver.resolve(HttpServletRequest, String)
method. As such the URL returned is expected to be an absolute URL including scheme, host, any servlet context path and the actual path used to resolve the resource.- Parameters:
resourcePath
- The path for which to return a mapped path.request
- The http servlet request object which may be used to apply more mapping functionality.- Returns:
- The mapped URL.
- Throws:
java.lang.IllegalStateException
- if the underlying resource resolver has already beenclosed
.- Since:
- 1.0.0 (Sling API Bundle 2.19.0)
-
getAllMappings
java.util.Collection<java.lang.String> getAllMappings(@NotNull @NotNull java.lang.String resourcePath)
Returns all possible mappings for a givenresourcePath
as paths.This method differs from the
getMapping(String)
variant by guaranteeing that all possible mappings are returned for a specified path.The mappings are not returned in any particular order.
- Parameters:
resourcePath
- The path for which to return a mapped path.- Returns:
- a collection of mapped URLs, in no particular order. May not be null or empty.
- Throws:
java.lang.IllegalStateException
- if the underlying resource resolver has already beenclosed
.- Since:
- 1.0.0 (Sling API Bundle 2.19.0)
-
getAllMappings
java.util.Collection<java.lang.String> getAllMappings(@NotNull @NotNull java.lang.String resourcePath, @NotNull @NotNull HttpServletRequest request)
Returns all possible mappings for a givenresourcePath
as URLs.This method differs from the
getMapping(String, HttpServletRequest)
variant by guaranteeing that all possible mappings are returned for a specified path.The mappings are not returned in any particular order.
- Parameters:
resourcePath
- The path for which to return a mapped path.request
- The http servlet request object which may be used to apply more mapping functionality.- Returns:
- a collection of mapped URLs, in no particular order. May not be null or empty.
- Throws:
java.lang.IllegalStateException
- if the underlying resource resolver has already beenclosed
.- Since:
- 1.0.0 (Sling API Bundle 2.19.0)
-
-