org.apache.wicket.extensions.markup.html.repeater.data.grid
Class AbstractDataGridView<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.repeater.AbstractRepeater
                  extended by org.apache.wicket.markup.repeater.RepeatingView
                      extended by org.apache.wicket.markup.repeater.RefreshingView<T>
                          extended by org.apache.wicket.markup.repeater.AbstractPageableView<T>
                              extended by org.apache.wicket.markup.repeater.data.DataViewBase<T>
                                  extended by org.apache.wicket.extensions.markup.html.repeater.data.grid.AbstractDataGridView<T>
Type Parameters:
T - Model object type
All Implemented Interfaces:
Serializable, IClusterable, IConverterLocator, IPageable
Direct Known Subclasses:
DataGridView

public abstract class AbstractDataGridView<T>
extends DataViewBase<T>

Acts as a base for data-grid views. Unlike a data view a data-grid view populates both rows and columns. The columns are populated by an array of provided ICellPopulator objects.

Author:
Igor Vaynberg (ivaynberg)
See Also:
DataGridView, 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
 
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, PATH_SEPARATOR, RENDER
 
Constructor Summary
AbstractDataGridView(String id, ICellPopulator<T>[] populators, IDataProvider<T> dataProvider)
          Constructor
 
Method Summary
protected  ICellPopulator<T>[] internalGetPopulators()
           
protected  Item<ICellPopulator<T>> newCellItem(String id, int index, IModel<ICellPopulator<T>> model)
          Factory method for Item container that represents a cell.
protected  Item<T> newItem(String id, int index, IModel<T> model)
          Factory method for Item container.
protected  Item<T> newRowItem(String id, int index, IModel<T> model)
          Factory method for Item container that represents a row.
protected  void onDetach()
          Called to allow a component to detach resources after use.
protected  void populateItem(Item<T> item)
          Populate the given Item container.
 
Methods inherited from class org.apache.wicket.markup.repeater.data.DataViewBase
getItemModels, internalGetDataProvider, internalGetItemCount
 
Methods inherited from class org.apache.wicket.markup.repeater.AbstractPageableView
getCurrentPage, getItemCount, getItemModels, getPageCount, getRowCount, getViewOffset, getViewSize, internalGetRowsPerPage, internalSetRowsPerPage, onBeforeRender, setCurrentPage
 
Methods inherited from class org.apache.wicket.markup.repeater.RefreshingView
addItems, getItemReuseStrategy, getItems, newItemFactory, onPopulate, setItemReuseStrategy
 
Methods inherited from class org.apache.wicket.markup.repeater.RepeatingView
newChildId, renderIterator
 
Methods inherited from class org.apache.wicket.markup.repeater.AbstractRepeater
onRender, renderChild
 
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, onComponentTagBody, 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, 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, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalAttach, internalDetach, internalOnAttach, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, onAfterRender, onAttach, onBeginRequest, onComponentTag, onConfigure, 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
 

Constructor Detail

AbstractDataGridView

public AbstractDataGridView(String id,
                            ICellPopulator<T>[] populators,
                            IDataProvider<T> dataProvider)
Constructor

Parameters:
id - component id
populators - array of ICellPopulator objects that will be used to populate cell items
dataProvider - data provider
Method Detail

internalGetPopulators

protected final ICellPopulator<T>[] internalGetPopulators()

newCellItem

protected Item<ICellPopulator<T>> newCellItem(String id,
                                              int index,
                                              IModel<ICellPopulator<T>> model)
Factory method for Item container that represents a cell.

Parameters:
id - component id for the new data item
index - the index of the new data item
model - the model for the new data item
Returns:
DataItem created DataItem
See Also:
Item, RefreshingView.newItem(String, int, IModel)

newItem

protected final Item<T> newItem(String id,
                                int index,
                                IModel<T> model)
Description copied from class: RefreshingView
Factory method for Item container. Item containers are simple MarkupContainer used to aggregate the user added components for a row inside the view.

Overrides:
newItem in class RefreshingView<T>
Parameters:
id - component id for the new data item
index - the index of the new data item
model - the model for the new data item
Returns:
DataItem created DataItem
See Also:
Item

newRowItem

protected Item<T> newRowItem(String id,
                             int index,
                             IModel<T> model)
Factory method for Item container that represents a row.

Parameters:
id - component id for the new data item
index - the index of the new data item
model - the model for the new data item.
Returns:
DataItem created DataItem
See Also:
Item, RefreshingView.newItem(String, int, IModel)

onDetach

protected void onDetach()
Description copied from class: Component
Called to allow a component to detach resources after use. Overrides of this method MUST call the super implementation, the most logical place to do this is the last line of the override method.

Overrides:
onDetach in class DataViewBase<T>
See Also:
DataViewBase.onDetach()

populateItem

protected final void populateItem(Item<T> item)
Description copied from class: RefreshingView
Populate the given Item container.

be carefull to add any components to the item and not the view itself. So, don't do:

 add(new Label("foo", "bar"));
 
but:
 item.add(new Label("foo", "bar"));
 

Specified by:
populateItem in class RefreshingView<T>
Parameters:
item - The item to populate
See Also:
RefreshingView.populateItem(org.apache.wicket.markup.repeater.Item)


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