## org.eclipse.jet.taglib
Class AbstractIteratingTag

    java.lang.Object
      org.eclipse.jet.taglib.AbstractCustomTag
          org.eclipse.jet.taglib.AbstractContainerTag
              org.eclipse.jet.taglib.AbstractIteratingTag

All Implemented Interfaces:
  ContainerTag, CustomTag, EmptyTag, IteratingTag

    public abstract class AbstractIteratingTag

extends AbstractContainerTag
implements IteratingTag

An abstract implementation of `IteratingTag`.

Field Summary
`protected boolean` `first`

Constructor Summary
`AbstractIteratingTag()`

Method Summary
`void` `doAfterBody(TagInfo td, JET2Context context, JET2Writer out)` Default implementation of `ContainerTag.doAfterBody(TagInfo, JET2Context, JET2Writer)` that does nothing.
`void` `doBeforeBody(TagInfo td, JET2Context context, JET2Writer out)` Default implementation of `ContainerTag.doBeforeBody(TagInfo, JET2Context, JET2Writer)` that writes a delimiter if set.
`protected java.lang.String` `getDelimiter()` Return the current delimiter string.
`CustomTagKind` `getKind()` Return the kind of the custom tag
`protected void` `setDelimiter(java.lang.String delimiter)` Set a delimiter string that is writen between loop iterations.

Methods inherited from class org.eclipse.jet.taglib.AbstractContainerTag
`doAction, setBodyContent`

Methods inherited from class org.eclipse.jet.taglib.AbstractCustomTag
`getAttribute, getOut, getParent, getRawAttribute, setContext, setOut, setParent, setTagInfo`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.eclipse.jet.taglib.IteratingTag
`doEvalLoopCondition, doInitializeLoop`

Methods inherited from interface org.eclipse.jet.taglib.ContainerTag
`setBodyContent`

Methods inherited from interface org.eclipse.jet.taglib.EmptyTag
`doAction`

Field Detail

### first

    protected boolean first

Constructor Detail

### AbstractIteratingTag

    public AbstractIteratingTag()

Method Detail

### getKind

    public final CustomTagKind getKind()

  Description copied from interface: `CustomTag`
  Return the kind of the custom tag

  Specified by:
    `getKind` in interface `CustomTag`
  Overrides:
    `getKind` in class `AbstractContainerTag`
  Returns:
    `CustomTagKind.ITERATING`
  See Also:
    `CustomTag.getKind()`

### doBeforeBody

    public void doBeforeBody(TagInfo td,
                             JET2Context context,
                             JET2Writer out)
                      throws JET2TagException

  Default implementation of `ContainerTag.doBeforeBody(TagInfo, JET2Context, JET2Writer)` that writes a delimiter if set.

  Specified by:
    `doBeforeBody` in interface `ContainerTag`
  Throws:
    `JET2TagException`

### doAfterBody

    public void doAfterBody(TagInfo td,
                            JET2Context context,
                            JET2Writer out)
                     throws JET2TagException

  Default implementation of `ContainerTag.doAfterBody(TagInfo, JET2Context, JET2Writer)` that does nothing.

  Specified by:
    `doAfterBody` in interface `ContainerTag`
  Throws:
    `JET2TagException`

### setDelimiter

    protected void setDelimiter(java.lang.String delimiter)

  Set a delimiter string that is writen between loop iterations. The default is `null`.

  Parameters:
    `delimiter` - a delimiter string. A value of `null` means no delimiter.

### getDelimiter

    protected java.lang.String getDelimiter()

  Return the current delimiter string.

  Returns:
    the current delimiter string. May be `null`.

Copyright 2006 IBM Corporation and others. All Rights Reserved.