org.apache.wicket.extensions.markup.html.repeater.data.sort
Class OrderByLink

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<java.lang.Void>
                      extended by org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByLink
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<Component>, IEventSink, IEventSource, IClusterable, IConverterLocator, IRequestListener, IHeaderContributor, ILinkListener, IRequestableComponent, IHierarchical<Component>
Direct Known Subclasses:
AjaxFallbackOrderByLink

public class OrderByLink
extends Link<java.lang.Void>

A component that represents a sort header. When the link is clicked it will toggle the state of a sortable property within the sort state object.

Author:
Phil Kulak, Igor Vaynberg (ivaynberg)
See Also:
Serialized Form

Nested Class Summary
static class OrderByLink.CssModifier
          Uses the specified ICssProvider to add css class attributes to the link.
static class OrderByLink.CssProvider
          Easily constructible implementation of ICSSProvider
static class OrderByLink.DefaultCssProvider
          Default implementation of ICssProvider
static interface OrderByLink.ICssProvider
          Interface used to generate values of css class attribute for the anchor tag If the generated value is null class attribute will not be added
static class OrderByLink.VoidCssProvider
          Convenience implementation of ICssProvider that always returns a null and so never adds a class attribute
 
Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Fields inherited from interface org.apache.wicket.markup.html.link.ILinkListener
INTERFACE
 
Constructor Summary
OrderByLink(java.lang.String id, java.lang.String property, ISortStateLocator stateLocator)
          Constructor.
OrderByLink(java.lang.String id, java.lang.String property, ISortStateLocator stateLocator, OrderByLink.ICssProvider cssProvider)
          Constructor.
 
Method Summary
protected  SortOrder nextSortOrder(SortOrder order)
          returns the next sort order when changing it
 void onClick()
          Called when a link is clicked.
protected  void onSortChanged()
          This method is a hook for subclasses to perform an action after sort has changed
 OrderByLink sort()
          Re-sort data provider according to this link
 
Methods inherited from class org.apache.wicket.markup.html.link.Link
appendAnchor, getAnchor, getAutoEnable, getModel, getModelObject, getOnClickScript, getPopupSettings, getStatelessHint, getURL, isEnabled, linksTo, onComponentTag, onLinkClicked, setAnchor, setAutoEnable, setModel, setModelObject, setPopupSettings
 
Methods inherited from class org.apache.wicket.markup.html.link.AbstractLink
disableLink, getAfterDisabledLink, getBeforeDisabledLink, getBody, isLinkEnabled, onBeforeRender, onComponentTagBody, onDetach, setAfterDisabledLink, setBeforeDisabledLink, setBody
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, hasAssociatedMarkup, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onMarkupAttached, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onConfigure, onEvent, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, 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
 

Constructor Detail

OrderByLink

public OrderByLink(java.lang.String id,
                   java.lang.String property,
                   ISortStateLocator stateLocator)
Constructor.

Parameters:
id - the component id of the link
property - the name of the sortable property this link represents. this value will be used as parameter for sort state object methods. sort state object will be located via the stateLocator argument.
stateLocator - locator used to locate sort state object that this will use to read/write state of sorted properties

OrderByLink

public OrderByLink(java.lang.String id,
                   java.lang.String property,
                   ISortStateLocator stateLocator,
                   OrderByLink.ICssProvider cssProvider)
Constructor.

Parameters:
id - the component id of the link
property - the name of the sortable property this link represents. this value will be used as parameter for sort state object methods. sort state object will be located via the stateLocator argument.
stateLocator - locator used to locate sort state object that this will use to read/write state of sorted properties
cssProvider - CSS provider that will be used generate the value of class attribute for this link
See Also:
OrderByLink.ICssProvider
Method Detail

onClick

public final void onClick()
Description copied from class: Link
Called when a link is clicked.

Specified by:
onClick in class Link<java.lang.Void>
See Also:
Link

onSortChanged

protected void onSortChanged()
This method is a hook for subclasses to perform an action after sort has changed


sort

public final OrderByLink sort()
Re-sort data provider according to this link

Returns:
this

nextSortOrder

protected SortOrder nextSortOrder(SortOrder order)
returns the next sort order when changing it

Parameters:
order - previous sort order
Returns:
next sort order


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