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:
org.apache.wicket.request.IRequestMapper
public class ResourceMapper extends AbstractBookmarkableMapper
AIRequestMapper
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 thismountResource("/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:
WebApplication.mountResource(String, org.apache.wicket.request.resource.ResourceReference)
-
-
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
Constructors Constructor Description ResourceMapper(String path, ResourceReference resourceReference)
create a resource mapper for a resourceResourceMapper(String path, ResourceReference resourceReference, org.apache.wicket.request.mapper.parameter.IPageParametersEncoder encoder)
create a resource mapper for a resource
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCachingDecoration(org.apache.wicket.request.Url url, org.apache.wicket.request.mapper.parameter.PageParameters parameters)
protected org.apache.wicket.request.Url
buildUrl(AbstractBookmarkableMapper.UrlInfo info)
Builds URL for the givenAbstractBookmarkableMapper.UrlInfo
instance.protected IResourceCachingStrategy
getCachingStrategy()
int
getCompatibilityScore(org.apache.wicket.request.Request request)
org.apache.wicket.request.Url
mapHandler(org.apache.wicket.request.IRequestHandler requestHandler)
org.apache.wicket.request.IRequestHandler
mapRequest(org.apache.wicket.request.Request request)
protected boolean
pageMustHaveBeenCreatedBookmarkable()
Indicates whether hybridRenderPageRequestHandler
URL for page will be generated only if page has been created with bookmarkable URL.protected AbstractBookmarkableMapper.UrlInfo
parseRequest(org.apache.wicket.request.Request request)
Parse the given request to anAbstractBookmarkableMapper.UrlInfo
instance.protected void
removeCachingDecoration(org.apache.wicket.request.Url url, org.apache.wicket.request.mapper.parameter.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
-
-
-
-
Constructor Detail
-
ResourceMapper
public ResourceMapper(String path, ResourceReference resourceReference)
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(String, org.apache.wicket.request.resource.ResourceReference, org.apache.wicket.request.mapper.parameter.IPageParametersEncoder)
-
ResourceMapper
public ResourceMapper(String path, ResourceReference resourceReference, org.apache.wicket.request.mapper.parameter.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 Detail
-
mapRequest
public org.apache.wicket.request.IRequestHandler mapRequest(org.apache.wicket.request.Request request)
- Specified by:
mapRequest
in interfaceorg.apache.wicket.request.IRequestMapper
- Overrides:
mapRequest
in classAbstractBookmarkableMapper
-
parseRequest
protected final AbstractBookmarkableMapper.UrlInfo parseRequest(org.apache.wicket.request.Request request)
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
protected final org.apache.wicket.request.Url buildUrl(AbstractBookmarkableMapper.UrlInfo info)
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
protected final boolean 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
public int getCompatibilityScore(org.apache.wicket.request.Request request)
- Specified by:
getCompatibilityScore
in interfaceorg.apache.wicket.request.IRequestMapper
- Overrides:
getCompatibilityScore
in classAbstractBookmarkableMapper
-
mapHandler
public org.apache.wicket.request.Url mapHandler(org.apache.wicket.request.IRequestHandler requestHandler)
- Specified by:
mapHandler
in interfaceorg.apache.wicket.request.IRequestMapper
- Overrides:
mapHandler
in classAbstractBookmarkableMapper
-
getCachingStrategy
protected IResourceCachingStrategy getCachingStrategy()
-
addCachingDecoration
protected void addCachingDecoration(org.apache.wicket.request.Url url, org.apache.wicket.request.mapper.parameter.PageParameters parameters)
-
removeCachingDecoration
protected void removeCachingDecoration(org.apache.wicket.request.Url url, org.apache.wicket.request.mapper.parameter.PageParameters parameters)
-
-