|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface IterationTag
The IterationTag interface extends Tag by defining one additional method that controls the reevaluation of its body.
A tag handler that implements IterationTag is treated as one that
implements Tag regarding the doStartTag() and doEndTag() methods.
IterationTag provides a new method: doAfterBody().
The doAfterBody() method is invoked after every body evaluation to control whether the body will be reevaluated or not. If doAfterBody() returns IterationTag.EVAL_BODY_AGAIN, then the body will be reevaluated. If doAfterBody() returns Tag.SKIP_BODY, then the body will be skipped and doEndTag() will be evaluated instead.
| Field Summary | |
|---|---|
static int |
EVAL_BODY_AGAIN
Request the reevaluation of some body. |
| Fields inherited from interface org.apache.cocoon.taglib.Tag |
|---|
EVAL_BODY, EVAL_PAGE, ROLE, SKIP_BODY |
| Method Summary | |
|---|---|
int |
doAfterBody()
Process body (re)evaluation. |
| Methods inherited from interface org.apache.cocoon.taglib.Tag |
|---|
doEndTag, doStartTag, getParent, setParent, setup |
| Field Detail |
|---|
static final int EVAL_BODY_AGAIN
| Method Detail |
|---|
int doAfterBody()
throws SAXException
If doAfterBody returns EVAL_BODY_AGAIN, a new evaluation of the body will happen (followed by another invocation of doAfterBody). If doAfterBody returns SKIP_BODY no more body evaluations will occur and then doEndTag will be invoked.
The method re-invocations may be lead to different actions because there might have been some changes to shared state, or because of external computation.
SAXException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||