Class Loop
- java.lang.Object
-
- org.apache.wicket.Component
-
- org.apache.wicket.MarkupContainer
-
- org.apache.wicket.markup.html.WebMarkupContainer
-
- org.apache.wicket.markup.repeater.AbstractRepeater
-
- org.apache.wicket.markup.html.list.Loop
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Iterable<Component>,IEventSink,IEventSource,IFeedbackContributor,IConverterLocator,IMetadataContext<java.io.Serializable,Component>,IHeaderContributor,IRequestableComponent,org.apache.wicket.util.IHierarchical<Component>,org.apache.wicket.util.io.IClusterable
- Direct Known Subclasses:
PagingNavigation
public abstract class Loop extends AbstractRepeater
A very simple loop component whose model is an Integer defining the number of iterations the loop should render. During rendering, Loop iterates from 0 to getIterations() - 1, creating a new MarkupContainer for each iteration. The MarkupContainer is populated by the Loop subclass by implementing the abstract method populate(LoopItem). The populate() method is called just before the LoopItem container is rendered.- Author:
- Juergen Donnerstag, Eelco Hillenius, Jonathan Locke
- See Also:
- Serialized Form
-
-
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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description intgetIterations()protected LoopItemnewItem(int iteration)Create a new LoopItem for loop at iteration.protected voidonPopulate()Callback to let the repeater know it should populate itself with its items.protected abstract voidpopulateItem(LoopItem item)Populates this loop item.protected voidrenderChild(Component child)Render a single child.protected voidrenderItem(LoopItem item)Renders this loop iteration.protected java.util.Iterator<Component>renderIterator()Returns an iterator for the collection of child components to be rendered.-
Methods inherited from class org.apache.wicket.markup.repeater.AbstractRepeater
dequeue, getMarkup, onBeforeRender, onRender
-
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, onDetach, 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, 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
-
-
-
-
Constructor Detail
-
Loop
public Loop(java.lang.String id, int iterations)Construct.- Parameters:
id- See Componentiterations- max index of the loop- See Also:
Component(String, IModel)
-
Loop
public Loop(java.lang.String id, IModel<java.lang.Integer> model)Construct.- Parameters:
id- See Componentmodel- Must contain a Integer model object- See Also:
Component(String, IModel)
-
-
Method Detail
-
getIterations
public final int getIterations()
- Returns:
- The number of loop iterations
-
onPopulate
protected final void onPopulate()
Description copied from class:AbstractRepeaterCallback to let the repeater know it should populate itself with its items.- Specified by:
onPopulatein classAbstractRepeater- See Also:
Component.onBeforeRender()
-
newItem
protected LoopItem newItem(int iteration)
Create a new LoopItem for loop at iteration.- Parameters:
iteration- iteration in the loop- Returns:
- LoopItem
-
renderIterator
protected java.util.Iterator<Component> renderIterator()
Description copied from class:AbstractRepeaterReturns an iterator for the collection of child components to be rendered. Users can override this to change order of rendered children.- Specified by:
renderIteratorin classAbstractRepeater- Returns:
- iterator over child components to be rendered
- See Also:
AbstractRepeater.renderIterator()
-
populateItem
protected abstract void populateItem(LoopItem item)
Populates this loop item.- Parameters:
item- The iteration of the loop
-
renderChild
protected final void renderChild(Component child)
Description copied from class:AbstractRepeaterRender a single child. This method can be overridden to modify how a single child component is rendered.- Overrides:
renderChildin classAbstractRepeater- Parameters:
child-
-
renderItem
protected void renderItem(LoopItem item)
Renders this loop iteration.- Parameters:
item- The loop iteration
-
-