Class BasicResourceReferenceMapper

All Implemented Interfaces:
IRequestMapper

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 Details

  • Constructor Details

  • Method Details

    • mapRequest

      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

    • 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