org.apache.wicket.examples.requestmapper
Class CustomHomeMapper

java.lang.Object
  extended by org.apache.wicket.request.mapper.AbstractMapper
      extended by org.apache.wicket.core.request.mapper.AbstractComponentMapper
          extended by org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
              extended by org.apache.wicket.core.request.mapper.MountedMapper
                  extended by org.apache.wicket.core.request.mapper.HomePageMapper
                      extended by org.apache.wicket.examples.requestmapper.CustomHomeMapper
All Implemented Interfaces:
IRequestMapper

public class CustomHomeMapper
extends HomePageMapper

An IRequestMapper that handles requests to the home page ('/') and appends the string representation of the current session locale in the URL

I.e. a request to http://example.com/app will end up in http://example.com/app/en_US


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
AbstractBookmarkableMapper.UrlInfo
 
Constructor Summary
CustomHomeMapper(Class<? extends IRequestablePage> pageClass)
          Constructor.
 
Method Summary
 int getCompatibilityScore(Request request)
          If there is just one url segment (the locale?!) then return a bigger compatibility score than HomePageMapper.getCompatibilityScore(Request)
 Url mapHandler(IRequestHandler requestHandler)
          Sets the current session Locale as first segment in the Url.
 IRequestHandler mapRequest(Request request)
          Removes the leading segment if it a valid Locale
 
Methods inherited from class org.apache.wicket.core.request.mapper.HomePageMapper
parseRequest
 
Methods inherited from class org.apache.wicket.core.request.mapper.MountedMapper
buildUrl, checkPageClass, newPageParameters, pageMustHaveBeenCreatedBookmarkable, redirectFromHomePage, toString, urlStartsWith
 
Methods inherited from class org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
checkPageInstance, processBookmarkable, processHybrid, processListener
 
Methods inherited from class org.apache.wicket.core.request.mapper.AbstractComponentMapper
encodePageComponentInfo, getContext, getPageClass, getPageComponentInfo, removeMetaParameter, requestListenerInterfaceFromString, requestListenerInterfaceToString
 
Methods inherited from class org.apache.wicket.request.mapper.AbstractMapper
encodePageParameters, extractPageParameters, getMountSegments, getOptionalPlaceholder, getPlaceholder, getPlaceholder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CustomHomeMapper

public CustomHomeMapper(Class<? extends IRequestablePage> pageClass)
Constructor.

Parameters:
pageClass - the class of the home page
Method Detail

mapHandler

public Url mapHandler(IRequestHandler requestHandler)
Sets the current session Locale as first segment in the Url.

Specified by:
mapHandler in interface IRequestMapper
Overrides:
mapHandler in class MountedMapper
Returns:
Url instance or null.
See Also:
MountedMapper.mapHandler(org.apache.wicket.request.IRequestHandler)

mapRequest

public IRequestHandler mapRequest(Request request)
Removes the leading segment if it a valid Locale

Specified by:
mapRequest in interface IRequestMapper
Overrides:
mapRequest in class AbstractBookmarkableMapper
Parameters:
request - provides access to request data (i.e. Url and Parameters)
Returns:
RequestHandler instance or null
See Also:
AbstractBookmarkableMapper.mapRequest(org.apache.wicket.request.Request)

getCompatibilityScore

public int getCompatibilityScore(Request request)
If there is just one url segment (the locale?!) then return a bigger compatibility score than HomePageMapper.getCompatibilityScore(Request)

Specified by:
getCompatibilityScore in interface IRequestMapper
Overrides:
getCompatibilityScore in class HomePageMapper
Returns:
the compatibility score, e.g. count of matching segments
See Also:
HomePageMapper.getCompatibilityScore(org.apache.wicket.request.Request)


Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.