KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > deprecated > taglibs > pagination > IfCListPaginationCurrentPageTag


1 package org.jahia.deprecated.taglibs.pagination;
2
3 import java.io.IOException JavaDoc;
4
5 import javax.servlet.jsp.JspException JavaDoc;
6 import javax.servlet.jsp.JspWriter JavaDoc;
7 import javax.servlet.jsp.tagext.BodyContent JavaDoc;
8 import javax.servlet.jsp.tagext.BodyTagSupport JavaDoc;
9
10 import org.jahia.utils.JahiaConsole;
11
12
13 /**
14  * This tag evaluates its body only when the enclosing ContainerListPagination.isCurrentpage() return true.
15  *
16  * @author NK
17  */

18 public class IfCListPaginationCurrentPageTag extends BodyTagSupport JavaDoc {
19
20     private boolean doEvaluateBody = false;
21
22     public int doStartTag() {
23         // gets the enclosing tag ContainerListTag
24
CListPaginationTag containerListPaginationTag = (CListPaginationTag) findAncestorWithClass(this, CListPaginationTag.class);
25         if (containerListPaginationTag == null) {
26             JahiaConsole.println("IfCListPaginationCurrentPageTag: doStartTag", "No container list pagination tag found !!");
27             return SKIP_BODY;
28         }
29         if (containerListPaginationTag.isCurrentPage()) {
30             //JahiaConsole.println("IfCListPaginationCurrentPageTag: doStartTag", "Current page : " + containerListPaginationTag.getPageNumber());
31
this.doEvaluateBody = true;
32             return EVAL_BODY_BUFFERED;
33         }
34         return SKIP_BODY;
35     }
36
37     public int doAfterBody() {
38         if ( doEvaluateBody )
39         {
40             try {
41                 BodyContent JavaDoc body = getBodyContent();
42                 JspWriter JavaDoc out = body.getEnclosingWriter();
43                 out.print(body.getString());
44             } catch (IOException JavaDoc ioe) {
45                 JahiaConsole.println("IfCListPaginationCurrentPageTag: doAfterBody ",ioe.toString());
46             }
47         }
48         return SKIP_BODY;
49     }
50
51     public int doEndTag() throws JspException JavaDoc {
52         // let's reinitialize the tag variables to allow tag object reuse in
53
// pooling.
54
doEvaluateBody = false;
55         return EVAL_PAGE;
56     }
57
58 }
59
Popular Tags