|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.wicket.request.mapper.AbstractMapper org.apache.wicket.request.mapper.AbstractComponentMapper org.apache.wicket.request.mapper.AbstractBookmarkableMapper org.apache.wicket.request.mapper.MountedMapper
public class MountedMapper
Encoder for mounted URL. The mount path can contain parameter placeholders, i.e.
/mount/${foo}/path
. In that case the appropriate segment from the URL will be
accessible as named parameter "foo" in the PageParameters
. Similarly when the URL is
constructed, the second segment will contain the value of the "foo" named page parameter.
Optional parameters are denoted by using a # instead of $: /mount/#{foo}/path/${bar}
has an optional foo
parameter, a fixed /path/
part and a required bar
parameter. When in doubt, parameters are matched from left to right, where required parameters
are matched before optional parameters, and optional parameters eager (from left to right).
Decodes and encodes the following URLs:
Page Class - Render (BookmarkablePageRequestHandler for mounted pages) /mount/point (these will redirect to hybrid alternative if page is not stateless) IPage Instance - Render Hybrid (RenderPageRequestHandler for mounted pages) /mount/point?2 IPage Instance - Bookmarkable Listener (BookmarkableListenerInterfaceRequestHandler for mounted pages) /mount/point?2-click-foo-bar-baz /mount/point?2-5.click.1-foo-bar-baz (1 is behavior index, 5 is render count) (these will redirect to hybrid if page is not stateless)
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.wicket.request.mapper.AbstractBookmarkableMapper |
---|
AbstractBookmarkableMapper.UrlInfo |
Constructor Summary | |
---|---|
MountedMapper(java.lang.String mountPath,
java.lang.Class<? extends IRequestablePage> pageClass)
Construct. |
|
MountedMapper(java.lang.String mountPath,
java.lang.Class<? extends IRequestablePage> pageClass,
IPageParametersEncoder pageParametersEncoder)
Construct. |
|
MountedMapper(java.lang.String mountPath,
ClassProvider<? extends IRequestablePage> pageClassProvider)
Construct. |
|
MountedMapper(java.lang.String mountPath,
ClassProvider<? extends IRequestablePage> pageClassProvider,
IPageParametersEncoder pageParametersEncoder)
Construct. |
Method Summary | |
---|---|
protected Url |
buildUrl(AbstractBookmarkableMapper.UrlInfo info)
Builds URL for the given AbstractBookmarkableMapper.UrlInfo instance. |
protected boolean |
checkPageClass(java.lang.Class<? extends IRequestablePage> pageClass)
|
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. |
protected PageParameters |
newPageParameters()
|
protected boolean |
pageMustHaveBeenCreatedBookmarkable()
Indicates whether hybrid RenderPageRequestHandler URL for page will be generated only
if page has been created with bookmarkable URL. |
protected AbstractBookmarkableMapper.UrlInfo |
parseRequest(Request request)
Parse the given request to an AbstractBookmarkableMapper.UrlInfo instance. |
protected boolean |
redirectFromHomePage()
If this method returns true and application home page class is same as the class
mounted with this encoder, request to home page will result in a redirect to the mounted
path. |
java.lang.String |
toString()
|
protected boolean |
urlStartsWith(Url url,
java.lang.String... segments)
Returns true if the given url starts with specified segments. |
Methods inherited from class org.apache.wicket.request.mapper.AbstractBookmarkableMapper |
---|
mapRequest, processBookmarkable, processHybrid, processListener |
Methods inherited from class org.apache.wicket.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 |
---|
public MountedMapper(java.lang.String mountPath, java.lang.Class<? extends IRequestablePage> pageClass)
mountPath
- pageClass
- public MountedMapper(java.lang.String mountPath, ClassProvider<? extends IRequestablePage> pageClassProvider)
mountPath
- pageClassProvider
- public MountedMapper(java.lang.String mountPath, java.lang.Class<? extends IRequestablePage> pageClass, IPageParametersEncoder pageParametersEncoder)
mountPath
- pageClass
- pageParametersEncoder
- public MountedMapper(java.lang.String mountPath, ClassProvider<? extends IRequestablePage> pageClassProvider, IPageParametersEncoder pageParametersEncoder)
mountPath
- pageClassProvider
- pageParametersEncoder
- Method Detail |
---|
protected AbstractBookmarkableMapper.UrlInfo parseRequest(Request request)
AbstractBookmarkableMapper
AbstractBookmarkableMapper.UrlInfo
instance.
parseRequest
in class AbstractBookmarkableMapper
null
if this encoder can not handle the requestAbstractBookmarkableMapper.parseRequest(org.apache.wicket.request.Request)
protected boolean urlStartsWith(Url url, java.lang.String... segments)
AbstractMapper
urlStartsWith
in class AbstractMapper
true
if the URL starts with the specified segments, false
otherwiseprotected PageParameters newPageParameters()
public Url mapHandler(IRequestHandler requestHandler)
AbstractBookmarkableMapper
Url
for given IRequestHandler
or null
if the request
handler is not recognized.
mapHandler
in interface IRequestMapper
mapHandler
in class AbstractBookmarkableMapper
null
.protected Url buildUrl(AbstractBookmarkableMapper.UrlInfo info)
AbstractBookmarkableMapper
AbstractBookmarkableMapper.UrlInfo
instance. The URL this method produces must be
parseable by the AbstractBookmarkableMapper.parseRequest(Request)
method.
buildUrl
in class AbstractBookmarkableMapper
AbstractBookmarkableMapper.buildUrl(org.apache.wicket.request.mapper.AbstractBookmarkableMapper.UrlInfo)
protected boolean redirectFromHomePage()
true
and application home page class is same as the class
mounted with this encoder, request to home page will result in a redirect to the mounted
path.
protected boolean pageMustHaveBeenCreatedBookmarkable()
AbstractBookmarkableMapper
RenderPageRequestHandler
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 return false
pageMustHaveBeenCreatedBookmarkable
in class AbstractBookmarkableMapper
true
if hybrid URL requires page created bookmarkable,
false
otherwise.AbstractBookmarkableMapper.pageMustHaveBeenCreatedBookmarkable()
public int getCompatibilityScore(Request request)
IRequestMapper
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.
getCompatibilityScore
in interface IRequestMapper
getCompatibilityScore
in class AbstractBookmarkableMapper
AbstractBookmarkableMapper.getCompatibilityScore(org.apache.wicket.request.Request)
protected boolean checkPageClass(java.lang.Class<? extends IRequestablePage> pageClass)
checkPageClass
in class AbstractBookmarkableMapper
AbstractBookmarkableMapper.checkPageClass(java.lang.Class)
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |