org.apache.wicket.markup.repeater
Class AbstractRepeater

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
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<Component>, IEventSink, IEventSource, IClusterable, IConverterLocator, IHeaderContributor, IRequestableComponent, IHierarchical<Component>
Direct Known Subclasses:
ListView, Loop, RepeatingView

public abstract class AbstractRepeater
extends WebMarkupContainer

Base class for repeaters. This container renders each of its children using its own markup. The children are collected using renderIterator() method. This class will take care of properly positioning and rewinding its markup stream so before each child renders it points to the beginning of this component. Each child is rendered by a call to renderChild(Component). A typical implementation simply does child.render();.

Author:
Igor Vaynberg (ivaynberg)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
AbstractRepeater(java.lang.String id)
          Constructor
AbstractRepeater(java.lang.String id, IModel<?> model)
          Constructor
 
Method Summary
 IMarkupFragment getMarkup(Component child)
          Get the childs markup
protected  void onBeforeRender()
          Called just before a component is rendered.
protected abstract  void onPopulate()
          Callback to let the repeater know it should populate itself with its items.
protected  void onRender()
          Renders all child items in no specified order
protected  void renderChild(Component child)
          Render a single child.
protected abstract  java.util.Iterator<? extends Component> renderIterator()
          Returns an iterator for the collection of child components to be rendered.
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkupType, hasAssociatedMarkup, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onMarkupAttached, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, 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, getFeedbackMessage, 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, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, 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

AbstractRepeater

public AbstractRepeater(java.lang.String id)
Constructor

Parameters:
id -

AbstractRepeater

public AbstractRepeater(java.lang.String id,
                        IModel<?> model)
Constructor

Parameters:
id -
model -
Method Detail

renderIterator

protected abstract java.util.Iterator<? extends Component> renderIterator()
Returns an iterator for the collection of child components to be rendered. Users can override this to change order of rendered children.

Returns:
iterator over child components to be rendered

onRender

protected final void onRender()
Renders all child items in no specified order

Overrides:
onRender in class MarkupContainer
Parameters:
markupStream - The markup stream
See Also:
Component.onRender()

renderChild

protected void renderChild(Component child)
Render a single child. This method can be overridden to modify how a single child component is rendered.

Parameters:
child - Child component to be rendered

onBeforeRender

protected void onBeforeRender()
Description copied from class: Component
Called just before a component is rendered.

NOTE: If you override this, you *must* call super.onBeforeRender() within your implementation. Because this method is responsible for cascading Component.onBeforeRender() call to its children it is strongly recommended that super call is made at the end of the override.

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

getMarkup

public IMarkupFragment getMarkup(Component child)
Description copied from class: MarkupContainer
Get the childs markup

Overrides:
getMarkup in class MarkupContainer
Parameters:
child - The child component. If null, the container's markup will be returned. See Border, Panel or Enclosure where getMarkup(null) != getMarkup().
Returns:
The childs markup
See Also:
MarkupContainer.getMarkup(org.apache.wicket.Component)

onPopulate

protected abstract void onPopulate()
Callback to let the repeater know it should populate itself with its items.



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