blob: b63ef3b36d732c8fa902bb037f99742380114bcb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>LoopTagSupport</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="LoopTagSupport";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":6,"i8":6,"i9":6,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagStatus.html" title="interface in javax.servlet.jsp.jstl.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?javax/servlet/jsp/jstl/core/LoopTagSupport.html" target="_top">Frames</a></li>
<li><a href="LoopTagSupport.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.servlet.jsp.jstl.core</div>
<h2 title="Class LoopTagSupport" class="title">Class LoopTagSupport</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">javax.servlet.jsp.tagext.TagSupport</a></li>
<li>
<ul class="inheritance">
<li>javax.servlet.jsp.jstl.core.LoopTagSupport</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../javax/servlet/jsp/jstl/core/LoopTag.html" title="interface in javax.servlet.jsp.jstl.core">LoopTag</a>, <a href="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a>, <a href="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</a>, <a href="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a>, <a href="../../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">LoopTagSupport</span>
extends <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</a>
implements <a href="../../../../../javax/servlet/jsp/jstl/core/LoopTag.html" title="interface in javax.servlet.jsp.jstl.core">LoopTag</a>, <a href="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a>, <a href="../../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</a></pre>
<div class="block"><p>Base support class to facilitate implementation of iteration tags.</p>
<p>Since most iteration tags will behave identically with respect to
actual iterative behavior, JSTL provides this
base support class to facilitate implementation. Many iteration tags
will extend this and merely implement the <tt>hasNext()</tt> and
<tt>next()</tt> methods
to provide contents for the handler to iterate over.</p>
<p>In particular, this base class provides support for:</p>
<ul>
<li> Iteration control, based on protected <tt>prepare()</tt>, <tt>next()</tt>,
and <tt>hasNext()</tt> methods
<li> Subsetting (<tt>begin</tt>, <tt>end</tt>, <tt>step></tt>functionality,
including validation
of subset parameters for sensibility)
<li> item retrieval (<tt>getCurrent()</tt>)
<li> status retrieval (<tt>LoopTagStatus</tt>)
<li> exposing attributes (set by <tt>var</tt> and <tt>varStatus</tt> attributes)
</ul>
<p>In providing support for these tasks, <tt>LoopTagSupport</tt> contains
certain control variables that act to modify the iteration. Accessors
are provided for these control variables when the variables represent
information needed or wanted at translation time (e.g., <tt>var</tt>,
<tt>varStatus</tt>). For
other variables, accessors cannot be provided here since subclasses
may differ on their implementations of how those accessors are received.
For instance, one subclass might accept a <tt>String</tt> and convert it into
an object of a specific type by using an expression evaluator; others
might accept objects directly. Still others might not want to expose
such information to outside control.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#javax.servlet.jsp.jstl.core.LoopTagSupport">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#begin">begin</a></span></code>
<div class="block">Starting index ('begin' attribute)</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#beginSpecified">beginSpecified</a></span></code>
<div class="block">Boolean flag indicating whether 'begin' was specified.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected ValueExpression</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#deferredExpression">deferredExpression</a></span></code>
<div class="block">The deferred expression if any</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#end">end</a></span></code>
<div class="block">Ending index of the iteration ('end' attribute).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#endSpecified">endSpecified</a></span></code>
<div class="block">Boolean flag indicating whether 'end' was specified.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#itemId">itemId</a></span></code>
<div class="block">Attribute-exposing control</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#statusId">statusId</a></span></code>
<div class="block">Attribute-exposing control</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#step">step</a></span></code>
<div class="block">Iteration step ('step' attribute)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#stepSpecified">stepSpecified</a></span></code>
<div class="block">Boolean flag indicating whether 'step' was specified.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.servlet.jsp.tagext.TagSupport">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;javax.servlet.jsp.tagext.<a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</a></h3>
<code><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#id">id</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#pageContext">pageContext</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.servlet.jsp.tagext.IterationTag">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;javax.servlet.jsp.tagext.<a href="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a></h3>
<code><a href="../../../../../javax/servlet/jsp/tagext/IterationTag.html#EVAL_BODY_AGAIN">EVAL_BODY_AGAIN</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.servlet.jsp.tagext.Tag">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;javax.servlet.jsp.tagext.<a href="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></h3>
<code><a href="../../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</a>, <a href="../../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</a>, <a href="../../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</a>, <a href="../../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#LoopTagSupport--">LoopTagSupport</a></span>()</code>
<div class="block">Constructs a new LoopTagSupport.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#doAfterBody--">doAfterBody</a></span>()</code>
<div class="block">Continues the iteration when appropriate -- that is, if we (a) have
more items and (b) don't run over our 'end' (given our 'step').</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#doCatch-java.lang.Throwable-">doCatch</a></span>(java.lang.Throwable&nbsp;t)</code>
<div class="block">Rethrows the given Throwable.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#doFinally--">doFinally</a></span>()</code>
<div class="block">Removes any attributes that this LoopTagSupport set.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#doStartTag--">doStartTag</a></span>()</code>
<div class="block">Begins iterating by processing the first item.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#getCurrent--">getCurrent</a></span>()</code>
<div class="block">Retrieves the current item in the iteration.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#getDelims--">getDelims</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagStatus.html" title="interface in javax.servlet.jsp.jstl.core">LoopTagStatus</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#getLoopStatus--">getLoopStatus</a></span>()</code>
<div class="block">Retrieves a 'status' object to provide information about the
current round of the iteration.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#hasNext--">hasNext</a></span>()</code>
<div class="block">Returns information concerning the availability of more items
over which to iterate.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected abstract java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#next--">next</a></span>()</code>
<div class="block">Returns the next object over which the tag should iterate.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#prepare--">prepare</a></span>()</code>
<div class="block">Prepares for a single tag invocation.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#release--">release</a></span>()</code>
<div class="block">Releases any resources this LoopTagSupport may have (or inherit).</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#setVar-java.lang.String-">setVar</a></span>(java.lang.String&nbsp;id)</code>
<div class="block">Sets the 'var' attribute.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#setVarStatus-java.lang.String-">setVarStatus</a></span>(java.lang.String&nbsp;statusId)</code>
<div class="block">Sets the 'varStatus' attribute.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#validateBegin--">validateBegin</a></span>()</code>
<div class="block">Ensures the "begin" property is sensible, throwing an exception
expected to propagate up if it isn't</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#validateEnd--">validateEnd</a></span>()</code>
<div class="block">Ensures the "end" property is sensible, throwing an exception
expected to propagate up if it isn't</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#validateStep--">validateStep</a></span>()</code>
<div class="block">Ensures the "step" property is sensible, throwing an exception
expected to propagate up if it isn't</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.jsp.tagext.TagSupport">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;javax.servlet.jsp.tagext.<a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</a></h3>
<code><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#doEndTag--">doEndTag</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass-javax.servlet.jsp.tagext.Tag-java.lang.Class-">findAncestorWithClass</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#getId--">getId</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#getParent--">getParent</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#getValue-java.lang.String-">getValue</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#getValues--">getValues</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#removeValue-java.lang.String-">removeValue</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#setId-java.lang.String-">setId</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#setPageContext-javax.servlet.jsp.PageContext-">setPageContext</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#setParent-javax.servlet.jsp.tagext.Tag-">setParent</a>, <a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#setValue-java.lang.String-java.lang.Object-">setValue</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.jsp.tagext.Tag">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;javax.servlet.jsp.tagext.<a href="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></h3>
<code><a href="../../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag--">doEndTag</a>, <a href="../../../../../javax/servlet/jsp/tagext/Tag.html#getParent--">getParent</a>, <a href="../../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext-javax.servlet.jsp.PageContext-">setPageContext</a>, <a href="../../../../../javax/servlet/jsp/tagext/Tag.html#setParent-javax.servlet.jsp.tagext.Tag-">setParent</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="begin">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>begin</h4>
<pre>protected&nbsp;int begin</pre>
<div class="block">Starting index ('begin' attribute)</div>
</li>
</ul>
<a name="end">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>end</h4>
<pre>protected&nbsp;int end</pre>
<div class="block">Ending index of the iteration ('end' attribute).
A value of -1 internally indicates 'no end
specified', although accessors for the core JSTL tags do not
allow this value to be supplied directly by the user.</div>
</li>
</ul>
<a name="step">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>step</h4>
<pre>protected&nbsp;int step</pre>
<div class="block">Iteration step ('step' attribute)</div>
</li>
</ul>
<a name="beginSpecified">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beginSpecified</h4>
<pre>protected&nbsp;boolean beginSpecified</pre>
<div class="block">Boolean flag indicating whether 'begin' was specified.</div>
</li>
</ul>
<a name="endSpecified">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>endSpecified</h4>
<pre>protected&nbsp;boolean endSpecified</pre>
<div class="block">Boolean flag indicating whether 'end' was specified.</div>
</li>
</ul>
<a name="stepSpecified">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stepSpecified</h4>
<pre>protected&nbsp;boolean stepSpecified</pre>
<div class="block">Boolean flag indicating whether 'step' was specified.</div>
</li>
</ul>
<a name="itemId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>itemId</h4>
<pre>protected&nbsp;java.lang.String itemId</pre>
<div class="block">Attribute-exposing control</div>
</li>
</ul>
<a name="statusId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>statusId</h4>
<pre>protected&nbsp;java.lang.String statusId</pre>
<div class="block">Attribute-exposing control</div>
</li>
</ul>
<a name="deferredExpression">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>deferredExpression</h4>
<pre>protected&nbsp;ValueExpression deferredExpression</pre>
<div class="block">The deferred expression if any</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="LoopTagSupport--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LoopTagSupport</h4>
<pre>public&nbsp;LoopTagSupport()</pre>
<div class="block">Constructs a new LoopTagSupport. As with TagSupport, subclasses
should not implement constructors with arguments, and no-arguments
constructors implemented by subclasses must call the superclass
constructor.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="next--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
<pre>protected abstract&nbsp;java.lang.Object&nbsp;next()
throws <a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></pre>
<div class="block"><p>Returns the next object over which the tag should iterate. This
method must be provided by concrete subclasses of LoopTagSupport
to inform the base logic about what objects it should iterate over.</p>
<p>It is expected that this method will generally be backed by an
Iterator, but this will not always be the case. In particular, if
retrieving the next object raises the possibility of an exception
being thrown, this method allows that exception to propagate back
to the JSP container as a JspTagException; a standalone Iterator
would not be able to do this. (This explains why LoopTagSupport
does not simply call for an Iterator from its subtags.)</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the java.lang.Object to use in the next round of iteration</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.util.NoSuchElementException</code> - if next() is called but no new elements are available</dd>
<dd><code><a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></code> - for other, unexpected exceptions</dd>
</dl>
</li>
</ul>
<a name="hasNext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasNext</h4>
<pre>protected abstract&nbsp;boolean&nbsp;hasNext()
throws <a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></pre>
<div class="block"><p>Returns information concerning the availability of more items
over which to iterate. This method must be provided by concrete
subclasses of LoopTagSupport to assist the iterative logic
provided by the supporting base class.</p>
<p>See <a href="#next()">next</a> for more information about the
purpose and expectations behind this tag.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if there is at least one more item to iterate
over, <tt>false</tt> otherwise</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagSupport.html#next--"><code>next()</code></a></dd>
</dl>
</li>
</ul>
<a name="prepare--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepare</h4>
<pre>protected abstract&nbsp;void&nbsp;prepare()
throws <a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></pre>
<div class="block"><p>Prepares for a single tag invocation. Specifically, allows
subclasses to prepare for calls to hasNext() and next().
Subclasses can assume that prepare() will be called once for
each invocation of doStartTag() in the superclass.</p></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></code></dd>
</dl>
</li>
</ul>
<a name="release--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
<pre>public&nbsp;void&nbsp;release()</pre>
<div class="block">Releases any resources this LoopTagSupport may have (or inherit).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/tagext/Tag.html#release--">release</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#release--">release</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../javax/servlet/jsp/tagext/Tag.html#release--"><code>Tag.release()</code></a></dd>
</dl>
</li>
</ul>
<a name="doStartTag--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStartTag</h4>
<pre>public&nbsp;int&nbsp;doStartTag()
throws <a href="../../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></pre>
<div class="block">Begins iterating by processing the first item.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag--">doStartTag</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#doStartTag--">doStartTag</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SKIP_BODY</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></code> - if an error occurs while processing this tag</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag--"><code>Tag.doStartTag()</code></a></dd>
</dl>
</li>
</ul>
<a name="doAfterBody--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doAfterBody</h4>
<pre>public&nbsp;int&nbsp;doAfterBody()
throws <a href="../../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></pre>
<div class="block">Continues the iteration when appropriate -- that is, if we (a) have
more items and (b) don't run over our 'end' (given our 'step').</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody--">doAfterBody</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html#doAfterBody--">doAfterBody</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SKIP_BODY</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</a></code> - if an error occurs while processing this tag</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody--"><code>IterationTag.doAfterBody()</code></a></dd>
</dl>
</li>
</ul>
<a name="doFinally--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doFinally</h4>
<pre>public&nbsp;void&nbsp;doFinally()</pre>
<div class="block">Removes any attributes that this LoopTagSupport set.
<p> These attributes are intended to support scripting variables with
NESTED scope, so we don't want to pollute attribute space by leaving
them lying around.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/tagext/TryCatchFinally.html#doFinally--">doFinally</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</a></code></dd>
</dl>
</li>
</ul>
<a name="doCatch-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doCatch</h4>
<pre>public&nbsp;void&nbsp;doCatch(java.lang.Throwable&nbsp;t)
throws java.lang.Throwable</pre>
<div class="block">Rethrows the given Throwable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/tagext/TryCatchFinally.html#doCatch-java.lang.Throwable-">doCatch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>t</code> - The throwable exception navigating through this tag.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Throwable</code> - if the exception is to be rethrown further up the nest chain.</dd>
</dl>
</li>
</ul>
<a name="getCurrent--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrent</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getCurrent()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTag.html#getCurrent--">LoopTag</a></code></span></div>
<div class="block">Retrieves the current item in the iteration. Behaves
idempotently; calling getCurrent() repeatedly should return the same
Object until the iteration is advanced. (Specifically, calling
getCurrent() does <b>not</b> advance the iteration.)</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTag.html#getCurrent--">getCurrent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTag.html" title="interface in javax.servlet.jsp.jstl.core">LoopTag</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current item as an object</dd>
</dl>
</li>
</ul>
<a name="getLoopStatus--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLoopStatus</h4>
<pre>public&nbsp;<a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagStatus.html" title="interface in javax.servlet.jsp.jstl.core">LoopTagStatus</a>&nbsp;getLoopStatus()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTag.html#getLoopStatus--">LoopTag</a></code></span></div>
<div class="block">Retrieves a 'status' object to provide information about the
current round of the iteration.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTag.html#getLoopStatus--">getLoopStatus</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTag.html" title="interface in javax.servlet.jsp.jstl.core">LoopTag</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The LoopTagStatus for the current <tt>LoopTag</tt>.</dd>
</dl>
</li>
</ul>
<a name="getDelims--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDelims</h4>
<pre>protected&nbsp;java.lang.String&nbsp;getDelims()</pre>
</li>
</ul>
<a name="setVar-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVar</h4>
<pre>public&nbsp;void&nbsp;setVar(java.lang.String&nbsp;id)</pre>
<div class="block">Sets the 'var' attribute.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - Name of the exported scoped variable storing the current item
of the iteration.</dd>
</dl>
</li>
</ul>
<a name="setVarStatus-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVarStatus</h4>
<pre>public&nbsp;void&nbsp;setVarStatus(java.lang.String&nbsp;statusId)</pre>
<div class="block">Sets the 'varStatus' attribute.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>statusId</code> - Name of the exported scoped variable storing the status
of the iteration.</dd>
</dl>
</li>
</ul>
<a name="validateBegin--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateBegin</h4>
<pre>protected&nbsp;void&nbsp;validateBegin()
throws <a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></pre>
<div class="block">Ensures the "begin" property is sensible, throwing an exception
expected to propagate up if it isn't</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></code></dd>
</dl>
</li>
</ul>
<a name="validateEnd--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateEnd</h4>
<pre>protected&nbsp;void&nbsp;validateEnd()
throws <a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></pre>
<div class="block">Ensures the "end" property is sensible, throwing an exception
expected to propagate up if it isn't</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></code></dd>
</dl>
</li>
</ul>
<a name="validateStep--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>validateStep</h4>
<pre>protected&nbsp;void&nbsp;validateStep()
throws <a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></pre>
<div class="block">Ensures the "step" property is sensible, throwing an exception
expected to propagate up if it isn't</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../javax/servlet/jsp/jstl/core/LoopTagStatus.html" title="interface in javax.servlet.jsp.jstl.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?javax/servlet/jsp/jstl/core/LoopTagSupport.html" target="_top">Frames</a></li>
<li><a href="LoopTagSupport.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>