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:
Serializable
,Iterable<Component>
,IEventSink
,IEventSource
,IFeedbackContributor
,IConverterLocator
,IMetadataContext<Serializable,Component>
,IHeaderContributor
,IRequestableComponent
,IHierarchical<Component>
,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, RFLAG_CONTAINER_HAS_REMOVALS
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
getIterations()
protected LoopItem
newItem(int iteration)
Create a new LoopItem for loop at iteration.protected void
onPopulate()
Callback to let the repeater know it should populate itself with its items.protected abstract void
populateItem(LoopItem item)
Populates this loop item.protected void
renderChild(Component child)
Render a single child.protected void
renderItem(LoopItem item)
Renders this loop iteration.protected 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, 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 Detail
-
Loop
public Loop(String id, int iterations)
Construct.- Parameters:
id
- See Componentiterations
- max index of the loop- See Also:
Component(String, IModel)
-
Loop
public Loop(String id, IModel<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:AbstractRepeater
Callback to let the repeater know it should populate itself with its items.- Specified by:
onPopulate
in 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 Iterator<Component> renderIterator()
Description copied from class:AbstractRepeater
Returns an iterator for the collection of child components to be rendered. Users can override this to change order of rendered children.- Specified by:
renderIterator
in 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:AbstractRepeater
Render a single child. This method can be overridden to modify how a single child component is rendered.- Overrides:
renderChild
in classAbstractRepeater
- Parameters:
child
-
-
renderItem
protected void renderItem(LoopItem item)
Renders this loop iteration.- Parameters:
item
- The loop iteration
-
-