@ProviderType
public interface ResourceMapper
This 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.
Modifier and Type | Method and Description |
---|---|
java.util.Collection<java.lang.String> |
getAllMappings(@NotNull java.lang.String resourcePath)
Returns all possible mappings for a given
resourcePath as paths. |
java.util.Collection<java.lang.String> |
getAllMappings(@NotNull java.lang.String resourcePath,
@NotNull javax.servlet.http.HttpServletRequest request)
Returns all possible mappings for a given
resourcePath 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 the
ResourceResolver.resolve(String) such that when the path is
given to the ResourceResolver.resolve(String) method the same resource is
returned. |
@NotNull java.lang.String |
getMapping(@NotNull java.lang.String resourcePath,
@NotNull javax.servlet.http.HttpServletRequest request)
Returns an URL mapped from the (resource) path applying the reverse
mapping used by the
ResourceResolver.resolve(HttpServletRequest, String) such
that when the path is given to the
ResourceResolver.resolve(HttpServletRequest, String) method the same resource is
returned. |
@NotNull @NotNull java.lang.String getMapping(@NotNull @NotNull java.lang.String resourcePath)
ResourceResolver.resolve(String)
such that when the path is
given to the ResourceResolver.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 the resourcePath
does not address an
existing resource roundtripping may of course not work and calling
ResourceResolver.resolve(String)
with the path returned may return
null
.
This method is intended as the reverse operation of the
ResourceResolver.resolve(String)
method.
resourcePath
- The path for which to return a mapped path.java.lang.IllegalStateException
- if the underlying resource resolver has already been
closed
.@NotNull @NotNull java.lang.String getMapping(@NotNull @NotNull java.lang.String resourcePath, @NotNull @NotNull javax.servlet.http.HttpServletRequest request)
ResourceResolver.resolve(HttpServletRequest, String)
such
that when the path is given to the
ResourceResolver.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 the resourcePath
does not address an
existing resource roundtripping may of course not work and calling
ResourceResolver.resolve(HttpServletRequest, String)
with the path returned may
return null
.
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.
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.java.lang.IllegalStateException
- if the underlying resource resolver has already been
closed
.java.util.Collection<java.lang.String> getAllMappings(@NotNull @NotNull java.lang.String resourcePath)
resourcePath
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.
resourcePath
- The path for which to return a mapped path.java.lang.IllegalStateException
- if the underlying resource resolver has already been
closed
.java.util.Collection<java.lang.String> getAllMappings(@NotNull @NotNull java.lang.String resourcePath, @NotNull @NotNull javax.servlet.http.HttpServletRequest request)
resourcePath
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.
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.java.lang.IllegalStateException
- if the underlying resource resolver has already been
closed
.Copyright © 2022 The Apache Software Foundation. All rights reserved.