Class BookmarkableMapper
java.lang.Object
org.apache.wicket.request.mapper.AbstractMapper
org.apache.wicket.core.request.mapper.AbstractComponentMapper
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
org.apache.wicket.core.request.mapper.BookmarkableMapper
- All Implemented Interfaces:
IRequestMapper
Decodes and encodes the following URLs:
Page Class - Render (BookmarkablePageRequestHandler) /wicket/bookmarkable/org.apache.wicket.MyPage (will redirect to hybrid alternative if page is not stateless) Page Instance - Render Hybrid (RenderPageRequestHandler for pages that were created using bookmarkable URLs) /wicket/bookmarkable/org.apache.wicket.MyPage?2 Page Instance - Bookmarkable Listener (BookmarkableListenerRequestHandler) /wicket/bookmarkable/org.apache.wicket.MyPage?2-click-foo-bar-baz /wicket/bookmarkable/org.apache.wicket.MyPage?2-click.1-foo-bar-baz (1 is behavior index) (these will redirect to hybrid if page is not stateless)
- Author:
- Matej Knopp
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
AbstractBookmarkableMapper.MountPathSegment, AbstractBookmarkableMapper.UrlInfo
-
Field Summary
Fields inherited from class org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
mountSegments, pageParametersEncoder, pathSegments
-
Constructor Summary
ConstructorDescriptionConstruct.BookmarkableMapper
(IPageParametersEncoder pageParametersEncoder) Construct. -
Method Summary
Modifier and TypeMethodDescriptionprotected Url
Builds URL for the givenAbstractBookmarkableMapper.UrlInfo
instance.int
getCompatibilityScore
(Request request) protected boolean
Indicates whether hybridRenderPageRequestHandler
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 anAbstractBookmarkableMapper.UrlInfo
instance.protected boolean
urlStartsWithAndHasPageClass
(Url url, String... segments) Checks whether the url starts with the given segments and additionally checks whether the following segment is non-emptyMethods inherited from class org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper
checkPageClass, checkPageInstance, extractPageParameters, getMatchedSegmentSizes, getPageInfo, getPathSegments, isCaseSensitiveMatch, isFixedSegment, mapHandler, mapRequest, newPageParameters, processBookmarkable, processHybrid, processListener, resolveUserLocale, segmentsMatch, setCaseSensitiveMatch, setPlaceholders, urlStartsWithMountedSegments
Methods inherited from class org.apache.wicket.core.request.mapper.AbstractComponentMapper
cleanClassName, encodePageComponentInfo, getContext, getPageClass, getPageComponentInfo, removeMetaParameter
Methods inherited from class org.apache.wicket.request.mapper.AbstractMapper
encodePageParameters, extractPageParameters, getMountSegments, getOptionalPlaceholder, getPlaceholder, getPlaceholder, resolveLocale, safeSegmentGetter, urlStartsWith
-
Constructor Details
-
BookmarkableMapper
public BookmarkableMapper()Construct. -
BookmarkableMapper
Construct.- Parameters:
pageParametersEncoder
-
-
-
Method Details
-
buildUrl
Description copied from class:AbstractBookmarkableMapper
Builds URL for the givenAbstractBookmarkableMapper.UrlInfo
instance. The URL this method produces must be parseable by theAbstractBookmarkableMapper.parseRequest(Request)
method.- Specified by:
buildUrl
in classAbstractBookmarkableMapper
- Returns:
- Url result URL
-
parseRequest
Description copied from class:AbstractBookmarkableMapper
Parse the given request to anAbstractBookmarkableMapper.UrlInfo
instance.- Specified by:
parseRequest
in classAbstractBookmarkableMapper
- Returns:
- UrlInfo instance or
null
if this encoder can not handle the request
-
pageMustHaveBeenCreatedBookmarkable
Description copied from class:AbstractBookmarkableMapper
Indicates whether hybridRenderPageRequestHandler
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 returnfalse
- Specified by:
pageMustHaveBeenCreatedBookmarkable
in classAbstractBookmarkableMapper
- Returns:
true
if hybrid URL requires page created bookmarkable,false
otherwise.
-
getCompatibilityScore
- Specified by:
getCompatibilityScore
in interfaceIRequestMapper
- Overrides:
getCompatibilityScore
in classAbstractBookmarkableMapper
-
urlStartsWithAndHasPageClass
Checks whether the url starts with the given segments and additionally checks whether the following segment is non-empty- Parameters:
url
- The url to be checkedsegments
- The expected leading segments- Returns:
true
if the url starts with the given segments and there is non-empty segment after them
-