Class AbstractPageableView<T>
- Type Parameters:
T
- type of elements contained in the model's list
- All Implemented Interfaces:
Serializable
,Iterable<Component>
,IEventSink
,IEventSource
,IFeedbackContributor
,IConverterLocator
,IMetadataContext<Serializable,
,Component> IHeaderContributor
,IPageable
,IPageableItems
,IRequestableComponent
,IHierarchical<Component>
,IClusterable
- Direct Known Subclasses:
DataViewBase
The view is populated by overriding the getItemModels(int offset, int count)
method
and providing an iterator that returns models for items in the current page. The
AbstractPageableView builds the items that will be rendered by looping over the models and
calling the newItem(String id, int index, IModel model)
to generate the child item
container followed by populateItem(Component item)
to let the user populate the
newly created item container with with custom components.
- Author:
- Igor Vaynberg (ivaynberg)
- See Also:
-
Field Summary
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
-
Constructor Summary
ConstructorDescriptionAbstractPageableView
(String id, IModel<? extends Collection<? extends T>> model) Constructor -
Method Summary
Modifier and TypeMethodDescriptionfinal long
long
final long
Get the item count.This method retrieves the subset of models for items in the current page and allows RefreshingView to generate items.getItemModels
(long offset, long size) Returns an iterator over models for items in the current pagelong
maximum number of visible items per pagelong
Gets the total number of pages this pageable object has.final long
Get the row count.long
protected abstract long
protected void
Called on all visible components before any component is rendered.protected void
onDetach()
Called to allow a component to detach resources after use.final void
setCurrentPage
(long page) Sets the a page that should be rendered (page number is zero-based)final void
setItemsPerPage
(long items) Sets the maximum number of items to show per page.Methods inherited from class org.apache.wicket.markup.repeater.RefreshingView
addItems, getItemReuseStrategy, getItems, newItem, newItemFactory, onPopulate, populateItem, setItemReuseStrategy
Methods inherited from class org.apache.wicket.markup.repeater.RepeatingView
newChildId, renderIterator
Methods inherited from class org.apache.wicket.markup.repeater.AbstractRepeater
dequeue, getMarkup, onRender, renderChild
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession
Methods inherited from class org.apache.wicket.MarkupContainer
add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkupType, getRegionMarkup, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onInitialize, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren
Methods inherited from class org.apache.wicket.Component
add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, 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, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
AbstractPageableView
Constructor- Parameters:
id
-model
-- See Also:
-
AbstractPageableView
- See Also:
-
-
Method Details
-
getItemModels
This method retrieves the subset of models for items in the current page and allows RefreshingView to generate items.- Specified by:
getItemModels
in classRefreshingView<T>
- Returns:
- iterator over models for items in the current page
-
onBeforeRender
Description copied from class:Component
Called on all visible components before any component is rendered.NOTE: If you override this, you *must* call super.onBeforeRender() within your implementation. Because this method is responsible for cascading
Changes to the component tree can be made only before calling super.onBeforeRender().Component.onBeforeRender()
call to its children it is strongly recommended that super call is made at the end of the override.- Overrides:
onBeforeRender
in classAbstractRepeater
- See Also:
-
getItemModels
Returns an iterator over models for items in the current page- Parameters:
offset
- index of first item in this pagesize
- number of items that will be shown in the current page- Returns:
- an iterator over models for items in the current page
-
getItemsPerPage
Description copied from interface:IPageableItems
maximum number of visible items per page- Specified by:
getItemsPerPage
in interfaceIPageableItems
- Returns:
- maximum number of items that will be shown per page
-
setItemsPerPage
Sets the maximum number of items to show per page. The current page will also be set to zero- Specified by:
setItemsPerPage
in interfaceIPageableItems
- Parameters:
items
-
-
internalGetItemCount
- Returns:
- total item count
-
getRowCount
Get the row count.- Returns:
- total item count, but 0 if not visible in the hierarchy
- See Also:
-
getItemCount
Get the item count. Since dataprovider.size() could potentially be expensive, the item count is cached.- Specified by:
getItemCount
in interfaceIPageableItems
- Returns:
- the item count
- See Also:
-
getCurrentPage
- Specified by:
getCurrentPage
in interfaceIPageable
- Returns:
- The current page that is or will be rendered (page number is zero-based)
- See Also:
-
setCurrentPage
Description copied from interface:IPageable
Sets the a page that should be rendered (page number is zero-based)- Specified by:
setCurrentPage
in interfaceIPageable
- Parameters:
page
- The page that should be rendered.- See Also:
-
getPageCount
Description copied from interface:IPageable
Gets the total number of pages this pageable object has.- Specified by:
getPageCount
in interfaceIPageable
- Returns:
- The total number of pages this pageable object has
- See Also:
-
getFirstItemOffset
- Returns:
- the index of the first visible item in the view
-
getViewSize
- Returns:
- the number of items visible
-
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 classMarkupContainer
- See Also:
-