org.apache.wicket.markup.html.list
Class Loop

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.html.list.Loop
All Implemented Interfaces:
Serializable, IClusterable, IConverterLocator
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

Nested Class Summary
static class Loop.LoopItem
          Item container for a Loop iteration.
 
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, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
Loop(String id, IModel<Integer> model)
          Construct.
Loop(String id, int iterations)
          Construct.
 
Method Summary
 int getIterations()
           
protected  Loop.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(Loop.LoopItem item)
          Populates this loop item.
protected  void renderChild(Component child)
          Render a single child.
protected  void renderItem(Loop.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
onBeforeRender, onRender
 
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, getAjaxRegionMarkupId, 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, onDetach, 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

Loop

public Loop(String id,
            int iterations)
Construct.

Parameters:
id - See Component
iterations - max index of the loop
See Also:
Component.Component(String, IModel)

Loop

public Loop(String id,
            IModel<Integer> model)
Construct.

Parameters:
id - See Component
model - Must contain a Integer model object
See Also:
Component.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 class AbstractRepeater
See Also:
Component.onBeforeRender()

newItem

protected Loop.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 class AbstractRepeater
Returns:
iterator over child components to be rendered
See Also:
AbstractRepeater.renderIterator()

populateItem

protected abstract void populateItem(Loop.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 class AbstractRepeater
Parameters:
child -

renderItem

protected void renderItem(Loop.LoopItem item)
Renders this loop iteration.

Parameters:
item - The loop iteration


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