|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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 |
public static final int EVAL_BODY_AGAIN
Method Detail |
public 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 |