Class BasicResourceReferenceMapper
- java.lang.Object
-
- org.apache.wicket.request.mapper.AbstractMapper
-
- org.apache.wicket.core.request.mapper.AbstractComponentMapper
-
- org.apache.wicket.core.request.mapper.AbstractResourceReferenceMapper
-
- org.apache.wicket.core.request.mapper.BasicResourceReferenceMapper
-
- All Implemented Interfaces:
IRequestMapper
public class BasicResourceReferenceMapper extends AbstractResourceReferenceMapper
GenericResourceReference
encoder that encodes and decodes non-mountedResourceReference
s.Decodes and encodes the following URLs:
/wicket/resource/org.apache.wicket.ResourceScope/name /wicket/resource/org.apache.wicket.ResourceScope/name?en /wicket/resource/org.apache.wicket.ResourceScope/name?-style /wicket/resource/org.apache.wicket.ResourceScope/resource/name.xyz?en_EN-style
- Author:
- Matej Knopp, igor.vaynberg, Peter Ertl
-
-
Field Summary
Fields Modifier and Type Field Description protected Supplier<? extends IResourceCachingStrategy>
cachingStrategy
resource caching strategyprotected IPageParametersEncoder
pageParametersEncoder
-
Constructor Summary
Constructors Constructor Description BasicResourceReferenceMapper(IPageParametersEncoder pageParametersEncoder, Supplier<? extends IResourceCachingStrategy> cachingStrategy)
Construct.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
canBeHandled(Url url)
Checks whether the passed Url can be handled by this mapperprotected IResourceCachingStrategy
getCachingStrategy()
protected String
getClassName(Class<?> scope)
int
getCompatibilityScore(Request request)
Returns the score representing how compatible this request mapper is to processing the given request.Url
mapHandler(IRequestHandler requestHandler)
IRequestHandler
mapRequest(Request request)
protected Class<?>
resolveClass(String name)
-
Methods inherited from class org.apache.wicket.core.request.mapper.AbstractResourceReferenceMapper
removeMetaParameter
-
Methods inherited from class org.apache.wicket.core.request.mapper.AbstractComponentMapper
cleanClassName, encodePageComponentInfo, getContext, getPageClass, getPageComponentInfo
-
Methods inherited from class org.apache.wicket.request.mapper.AbstractMapper
encodePageParameters, extractPageParameters, getMountSegments, getOptionalPlaceholder, getPlaceholder, getPlaceholder, resolveLocale, safeSegmentGetter, urlStartsWith
-
-
-
-
Field Detail
-
pageParametersEncoder
protected final IPageParametersEncoder pageParametersEncoder
-
cachingStrategy
protected final Supplier<? extends IResourceCachingStrategy> cachingStrategy
resource caching strategy
-
-
Constructor Detail
-
BasicResourceReferenceMapper
public BasicResourceReferenceMapper(IPageParametersEncoder pageParametersEncoder, Supplier<? extends IResourceCachingStrategy> cachingStrategy)
Construct.- Parameters:
pageParametersEncoder
-cachingStrategy
-
-
-
Method Detail
-
mapRequest
public IRequestHandler mapRequest(Request request)
Description copied from interface:IRequestMapper
- Parameters:
request
- provides access to request data (i.e. Url and Parameters)- Returns:
- RequestHandler instance or
null
-
getCachingStrategy
protected final IResourceCachingStrategy getCachingStrategy()
-
resolveClass
protected Class<?> resolveClass(String name)
-
getClassName
protected String getClassName(Class<?> scope)
-
mapHandler
public Url mapHandler(IRequestHandler requestHandler)
Description copied from interface:IRequestMapper
- Returns:
- Url instance or
null
.
-
getCompatibilityScore
public int getCompatibilityScore(Request request)
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.
- Returns:
- the compatibility score, e.g. count of matching segments
-
canBeHandled
protected boolean canBeHandled(Url url)
Checks whether the passed Url can be handled by this mapper- Parameters:
url
- the Url to check- Returns:
true
- if the Url can be handled,false
- otherwise
-
-