org.apache.wicket.markup.html.link
Class BookmarkablePageLink<T>

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.html.link.AbstractLink
                  extended by org.apache.wicket.markup.html.link.Link<T>
                      extended by org.apache.wicket.markup.html.link.BookmarkablePageLink<T>
Type Parameters:
T - type of model object, if any
All Implemented Interfaces:
Serializable, IClusterable, IConverterLocator, IRequestListener, ILinkListener
Direct Known Subclasses:
AutoLinkResolver.AutolinkBookmarkablePageLink

public class BookmarkablePageLink<T>
extends Link<T>

Renders a stable link which can be cached in a web browser and used at a later time.

Author:
Jonathan Locke
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.Component
Component.ComponentModelChange, Component.EnabledChange, Component.IVisitor<T extends Component>, Component.VisibilityChange
 
Field Summary
protected  MiniMap<String,Object> parameters
          The parameters to pass to the class constructor when instantiated.
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_CONFIGURED, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Fields inherited from interface org.apache.wicket.markup.html.link.ILinkListener
INTERFACE
 
Constructor Summary
BookmarkablePageLink(String id, Class<C> pageClass)
          Constructor.
BookmarkablePageLink(String id, Class<C> pageClass, PageParameters parameters)
          Constructor.
 
Method Summary
 Class<? extends Page> getPageClass()
          Get tge page class registered with the link
 IPageMap getPageMap()
           
 PageParameters getPageParameters()
           
protected  boolean getStatelessHint()
          Returns whether the component can be stateless.
protected  CharSequence getURL()
          Gets the url to use for this link.
 boolean linksTo(Page page)
          Whether this link refers to the given page.
 void onClick()
          THIS METHOD IS NOT USED! Bookmarkable links do not have a click handler.
 BookmarkablePageLink<T> setPageMap(IPageMap pageMap)
           
 BookmarkablePageLink<T> setParameter(String property, int value)
          Adds a given page property value to this link.
 BookmarkablePageLink<T> setParameter(String property, long value)
          Adds a given page property value to this link.
 BookmarkablePageLink<T> setParameter(String property, String value)
          Adds a given page property value to this link.
 
Methods inherited from class org.apache.wicket.markup.html.link.Link
appendAnchor, getAnchor, getAutoEnable, getModel, getModelObject, getOnClickScript, getOnClickScript, getPopupSettings, isEnabled, onComponentTag, onLinkClicked, setAnchor, setAutoEnable, setModel, setModelObject, setPopupSettings
 
Methods inherited from class org.apache.wicket.markup.html.link.AbstractLink
disableLink, getAfterDisabledLink, getBeforeDisabledLink, isLinkEnabled, onBeforeRender, onComponentTagBody, setAfterDisabledLink, setBeforeDisabledLink
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, get, getAssociatedMarkupStream, getMarkupStream, hasAssociatedMarkup, internalAdd, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onAfterRenderChildren, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, renderNext, replace, setDefaultModel, setMarkupStream, size, swap, toString, toString, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, callOnBeforeRenderIfNotVisible, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachBehaviors, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviors, getBehaviors, getBehaviorsRawList, getClassRelativePath, getComponentBorder, getConverter, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdImpl, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalAttach, internalDetach, internalOnAttach, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, onAfterRender, onAttach, onBeginRequest, onConfigure, onDetach, onEndRequest, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, prepareForRender, redirectToInterceptPage, remove, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, setAuto, setComponentBorder, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parameters

protected MiniMap<String,Object> parameters
The parameters to pass to the class constructor when instantiated.

Constructor Detail

BookmarkablePageLink

public BookmarkablePageLink(String id,
                            Class<C> pageClass)
Constructor.

Type Parameters:
C - type of page
Parameters:
id - The name of this component
pageClass - The class of page to link to

BookmarkablePageLink

public BookmarkablePageLink(String id,
                            Class<C> pageClass,
                            PageParameters parameters)
Constructor.

Type Parameters:
C -
Parameters:
id - See Component
pageClass - The class of page to link to
parameters - The parameters to pass to the new page when the link is clicked
Method Detail

getPageParameters

public PageParameters getPageParameters()
Returns:
page parameters

getPageClass

public final Class<? extends Page> getPageClass()
Get tge page class registered with the link

Returns:
Page class

getPageMap

public final IPageMap getPageMap()
Returns:
Page map for this link

linksTo

public boolean linksTo(Page page)
Whether this link refers to the given page.

Overrides:
linksTo in class Link<T>
Parameters:
page - the page
Returns:
True if this link goes to the given page
See Also:
Link.linksTo(org.apache.wicket.Page)

getStatelessHint

protected boolean getStatelessHint()
Description copied from class: Component
Returns whether the component can be stateless. Also the component behaviors must be stateless, otherwise the component will be treat as stateful. In order for page to be stateless (and not to be stored in session), all components (and component behaviors) must be stateless.

Overrides:
getStatelessHint in class Link<T>
Returns:
whether the component can be stateless
See Also:
Component.getStatelessHint()

onClick

public final void onClick()
THIS METHOD IS NOT USED! Bookmarkable links do not have a click handler. It is here to satisfy the interface only, as bookmarkable links will be dispatched by the handling servlet.

Specified by:
onClick in class Link<T>
See Also:
Link.onClick()

setPageMap

public final BookmarkablePageLink<T> setPageMap(IPageMap pageMap)
Parameters:
pageMap - The pagemap for this link's destination
Returns:
This

setParameter

public BookmarkablePageLink<T> setParameter(String property,
                                            int value)
Adds a given page property value to this link.

Parameters:
property - The property
value - The value
Returns:
This

setParameter

public BookmarkablePageLink<T> setParameter(String property,
                                            long value)
Adds a given page property value to this link.

Parameters:
property - The property
value - The value
Returns:
This

setParameter

public BookmarkablePageLink<T> setParameter(String property,
                                            String value)
Adds a given page property value to this link.

Parameters:
property - The property
value - The value
Returns:
This

getURL

protected CharSequence getURL()
Gets the url to use for this link.

Overrides:
getURL in class Link<T>
Returns:
The URL that this link links to
See Also:
Link.getURL()


Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.