org.apache.wicket.request.mapper
Class BasicResourceReferenceMapper

java.lang.Object
  extended by org.apache.wicket.request.mapper.AbstractMapper
      extended by org.apache.wicket.request.mapper.AbstractComponentMapper
          extended by org.apache.wicket.request.mapper.AbstractResourceReferenceMapper
              extended by org.apache.wicket.request.mapper.BasicResourceReferenceMapper
All Implemented Interfaces:
IRequestMapper

public class BasicResourceReferenceMapper
extends AbstractResourceReferenceMapper

Generic ResourceReference encoder that encodes and decodes non-mounted ResourceReferences.

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
protected  IProvider<? extends IResourceCachingStrategy> cachingStrategy
          resource caching strategy
protected  IPageParametersEncoder pageParametersEncoder
           
 
Constructor Summary
BasicResourceReferenceMapper(IPageParametersEncoder pageParametersEncoder, IProvider<? extends IResourceCachingStrategy> cachingStrategy)
          Construct.
 
Method Summary
protected  boolean canBeHandled(Url url)
          Checks whether the passed Url can be handled by this mapper
protected  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)
          Returns the Url for given IRequestHandler or null if the request handler is not recognized.
 IRequestHandler mapRequest(Request request)
          Returns IRequestHandler for the request or null if the Url is not recognized.
protected  Class<?> resolveClass(String name)
           
 
Methods inherited from class org.apache.wicket.request.mapper.AbstractResourceReferenceMapper
decodeResourceReferenceAttributes, encodeResourceReferenceAttributes, encodeResourceReferenceAttributes, escapeAttributesSeparator, getResourceReferenceAttributes, removeMetaParameter, unescapeAttributesSeparator
 
Methods inherited from class org.apache.wicket.request.mapper.AbstractComponentMapper
encodePageComponentInfo, getContext, getPageClass, getPageComponentInfo, requestListenerInterfaceFromString, requestListenerInterfaceToString
 
Methods inherited from class org.apache.wicket.request.mapper.AbstractMapper
encodePageParameters, extractPageParameters, getMountSegments, getOptionalPlaceholder, getPlaceholder, getPlaceholder, urlStartsWith
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pageParametersEncoder

protected final IPageParametersEncoder pageParametersEncoder

cachingStrategy

protected final IProvider<? extends IResourceCachingStrategy> cachingStrategy
resource caching strategy

Constructor Detail

BasicResourceReferenceMapper

public BasicResourceReferenceMapper(IPageParametersEncoder pageParametersEncoder,
                                    IProvider<? extends IResourceCachingStrategy> cachingStrategy)
Construct.

Parameters:
pageParametersEncoder -
cachingStrategy -
Method Detail

mapRequest

public IRequestHandler mapRequest(Request request)
Description copied from interface: IRequestMapper
Returns IRequestHandler for the request or null if the Url is not recognized.

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 the Url for given IRequestHandler or null if the request handler is not recognized.

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


Copyright © 2006–2015 Apache Software Foundation. All rights reserved.