Class ResourceMapper
java.lang.Object
org.apache.wicket.request.mapper.AbstractMapper
org.apache.wicket.core.request.mapper.AbstractComponentMapper
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
org.apache.wicket.core.request.mapper.ResourceMapper
- All Implemented Interfaces:
IRequestMapper
A
IRequestMapper
to mount resources to a custom mount path
- maps indexed parameters to path segments
- maps named parameters to query string arguments or placeholder path segments
/myresources/${category}/images/[indexed-param-0]/[indexed-param-1]?[named-param-1=value]&[named-param-2=value2]Sample usage in your wicket application's init() method use a statement like this
mountResource("/images", new ImagesResourceReference()));Note: Mounted this way the resource reference has application scope, i.e. it is shared between all users of the application. It is recommended to not keep any state in it.
- Author:
- Peter Ertl
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
AbstractBookmarkableMapper.MountPathSegment, AbstractBookmarkableMapper.UrlInfo
-
Field Summary
Fields inherited from class org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
pageParametersEncoder, pathSegments
-
Constructor Summary
ConstructorDescriptionResourceMapper
(String path, ResourceReference resourceReference) create a resource mapper for a resourceResourceMapper
(String path, ResourceReference resourceReference, IPageParametersEncoder encoder) create a resource mapper for a resource -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addCachingDecoration
(Url url, PageParameters parameters) protected final Url
Builds URL for the givenAbstractBookmarkableMapper.UrlInfo
instance.protected IResourceCachingStrategy
int
getCompatibilityScore
(Request request) Returns the score representing how compatible this request mapper is to processing the given request.mapHandler
(IRequestHandler requestHandler) mapRequest
(Request request) protected final boolean
Indicates whether hybridRenderPageRequestHandler
URL for page will be generated only if page has been created with bookmarkable URL.protected final AbstractBookmarkableMapper.UrlInfo
parseRequest
(Request request) Parse the given request to anAbstractBookmarkableMapper.UrlInfo
instance.protected void
removeCachingDecoration
(Url url, PageParameters parameters) Methods inherited from class org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
checkPageClass, checkPageInstance, extractPageParameters, getMatchedSegmentSizes, getPageInfo, getPathSegments, isCaseSensitiveMatch, isFixedSegment, newPageParameters, processBookmarkable, processHybrid, processListener, resolveUserLocale, segmentsMatch, setCaseSensitiveMatch, setPlaceholders, urlStartsWithMountedSegments
Methods inherited from class org.apache.wicket.core.request.mapper.AbstractComponentMapper
cleanClassName, encodePageComponentInfo, getContext, getPageClass, getPageComponentInfo, removeMetaParameter
Methods inherited from class org.apache.wicket.request.mapper.AbstractMapper
encodePageParameters, extractPageParameters, getMountSegments, getOptionalPlaceholder, getPlaceholder, getPlaceholder, resolveLocale, safeSegmentGetter, urlStartsWith
-
Constructor Details
-
ResourceMapper
create a resource mapper for a resource- Parameters:
path
- mount path for the resourceresourceReference
- resource reference that should be linked to the mount path- See Also:
-
ResourceMapper
public ResourceMapper(String path, ResourceReference resourceReference, IPageParametersEncoder encoder) create a resource mapper for a resource- Parameters:
path
- mount path for the resourceresourceReference
- resource reference that should be linked to the mount pathencoder
- encoder for url parameters
-
-
Method Details
-
mapRequest
Description copied from interface:IRequestMapper
- Specified by:
mapRequest
in interfaceIRequestMapper
- Overrides:
mapRequest
in classAbstractBookmarkableMapper
- Parameters:
request
- provides access to request data (i.e. Url and Parameters)- Returns:
- RequestHandler instance or
null
-
parseRequest
Description copied from class:AbstractBookmarkableMapper
Parse the given request to anAbstractBookmarkableMapper.UrlInfo
instance.- Specified by:
parseRequest
in classAbstractBookmarkableMapper
- Returns:
- UrlInfo instance or
null
if this encoder can not handle the request
-
buildUrl
Description copied from class:AbstractBookmarkableMapper
Builds URL for the givenAbstractBookmarkableMapper.UrlInfo
instance. The URL this method produces must be parseable by theAbstractBookmarkableMapper.parseRequest(Request)
method.- Specified by:
buildUrl
in classAbstractBookmarkableMapper
- Returns:
- Url result URL
-
pageMustHaveBeenCreatedBookmarkable
Description copied from class:AbstractBookmarkableMapper
Indicates whether hybridRenderPageRequestHandler
URL for page will be generated only if page has been created with bookmarkable URL.For generic bookmarkable encoders this method should return
true
. For explicit (mounted) encoders this method should returnfalse
- Specified by:
pageMustHaveBeenCreatedBookmarkable
in classAbstractBookmarkableMapper
- Returns:
true
if hybrid URL requires page created bookmarkable,false
otherwise.
-
getCompatibilityScore
Description copied from interface:IRequestMapper
Returns the score representing how compatible this request mapper is to processing the given request. When a request comes in all mappers are scored and are tried in order from highest score to lowest.A good criteria for calculating the score is the number of matched url segments. For example when there are two mappers for a mounted page, one mapped to
/foo
another to/foo/bar
and the incoming request URL is /foo/bar/baz, the mapping to/foo/bar
should probably handle the request first as it has matching segments count of 2 while the first one has only matching segments count of 1.Note that the method can return value greater then zero even if the mapper does not recognize the request.
- Specified by:
getCompatibilityScore
in interfaceIRequestMapper
- Overrides:
getCompatibilityScore
in classAbstractBookmarkableMapper
- Returns:
- the compatibility score, e.g. count of matching segments
-
mapHandler
Description copied from interface:IRequestMapper
- Specified by:
mapHandler
in interfaceIRequestMapper
- Overrides:
mapHandler
in classAbstractBookmarkableMapper
- Returns:
- Url instance or
null
.
-
getCachingStrategy
-
addCachingDecoration
-
removeCachingDecoration
-