wicket.markup.html.list
Class Loop

java.lang.Object
  extended by wicket.Component
      extended by wicket.MarkupContainer
          extended by wicket.markup.html.WebMarkupContainer
              extended by wicket.markup.html.list.Loop
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
PagingNavigation

public abstract class Loop
extends WebMarkupContainer

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 wicket.Component
Component.ComponentModelChange, Component.EnabledChange, Component.IVisitor, Component.VisibilityChange
 
Field Summary
 
Fields inherited from class wicket.Component
ENABLE, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PATH_SEPARATOR, RENDER
 
Constructor Summary
Loop(java.lang.String id, IModel model)
          Construct.
Loop(java.lang.String id, int iterations)
          Construct.
 
Method Summary
 int getIterations()
           
protected  void internalOnAttach()
          THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
protected  Loop.LoopItem newItem(int iteration)
          Create a new LoopItem for loop at iteration.
protected  void onRender(MarkupStream markupStream)
          Renders this component.
protected abstract  void populateItem(Loop.LoopItem item)
          Populates this loop item.
protected  void renderItem(Loop.LoopItem item)
          Renders this loop iteration.
 
Methods inherited from class wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage
 
Methods inherited from class wicket.MarkupContainer
add, autoAdd, contains, findMarkupStream, get, getAssociatedMarkupStream, getMarkupStream, internalAdd, internalAttach, internalDetach, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onComponentTagBody, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, replace, setMarkupStream, setModel, size, toString, toString, visitChildren, visitChildren
 
Methods inherited from class wicket.Component
add, addStateChange, checkComponentTag, checkComponentTagAttribute, continueToOriginalDestination, debug, detachBehaviors, detachModel, detachModels, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getApplication, getApplicationPages, getApplicationSettings, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMetaData, getModel, getModelComparator, getModelObject, getModelObjectAsString, getOutputMarkupId, getPage, getPageFactory, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getString, getString, getString, getStyle, getVariation, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isBehaviorAccepted, isEnableAllowed, isEnabled, isHeadRendered, isIgnoreAttributeModifier, isRenderAllowed, isVersioned, isVisible, isVisibleInHierarchy, modelChanged, modelChanging, newPage, newPage, onAfterRender, onAttach, onBeforeRender, onBeginRequest, onComponentTag, onDetach, onEndRequest, onModelChanged, onModelChanging, onRender, redirectToInterceptPage, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderedBehaviors, renderHead, replaceComponentTagBody, replaceWith, resetHeadRendered, sameRootModel, sameRootModel, setAuto, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMetaData, setModelObject, setOutputMarkupId, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Loop

public Loop(java.lang.String id,
            int iterations)
Construct.

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

Loop

public Loop(java.lang.String id,
            IModel 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

internalOnAttach

protected void internalOnAttach()
Description copied from class: Component
THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL OR OVERRIDE. Called when a request begins.

Overrides:
internalOnAttach in class Component
See Also:
Component.internalOnAttach()

newItem

protected Loop.LoopItem newItem(int iteration)
Create a new LoopItem for loop at iteration.

Parameters:
iteration - iteration in the loop
Returns:
LoopItem

onRender

protected final void onRender(MarkupStream markupStream)
Description copied from class: MarkupContainer
Renders this component. This implementation just calls renderComponent.

Overrides:
onRender in class MarkupContainer
See Also:
Component.onRender(wicket.markup.MarkupStream)

populateItem

protected abstract void populateItem(Loop.LoopItem item)
Populates this loop item.

Parameters:
item - The iteration of the loop

renderItem

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

Parameters:
item - The loop iteration


Copyright © 2004-2007 Wicket developers. All Rights Reserved.