KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > taglibs > button > TabButtonsListTag


1 package org.jahia.taglibs.button;
2
3 import java.io.IOException JavaDoc;
4 import java.util.Vector JavaDoc;
5
6 import javax.servlet.jsp.JspException JavaDoc;
7 import javax.servlet.jsp.JspTagException JavaDoc;
8 import javax.servlet.jsp.JspWriter JavaDoc;
9 import javax.servlet.jsp.tagext.BodyTagSupport JavaDoc;
10
11
12 /**
13  * Generates a list of Tab like buttons.
14  *
15  * @see TabButtonTag
16  * @author Khue Nguyuen
17  */

18 public class TabButtonsListTag extends BodyTagSupport JavaDoc {
19
20     private static org.apache.log4j.Logger logger =
21             org.apache.log4j.Logger.getLogger(TabButtonsListTag.class);
22
23     private Vector JavaDoc tabButtons;
24
25     public void addTabButton(String JavaDoc url,
26                              String JavaDoc label, String JavaDoc labelKey, String JavaDoc labelBundle,
27                              boolean isSelected) {
28         if ( url == null ){
29             url = "#";
30         }
31         if ( label == null ){
32             label = "no name";
33         }
34
35         TabButton tabButton = new TabButton(url,label,labelKey, labelBundle, isSelected);
36         this.tabButtons.add(tabButton);
37         //logger.debug("Added button :" + tabButton.toString());
38
}
39
40     public void addTabButton(TabButton tabButton) {
41         if ( tabButton != null ){
42             this.tabButtons.add(tabButton);
43         }
44     }
45
46     public int doStartTag() {
47         logger.debug("Started");
48         this.tabButtons = new Vector JavaDoc();
49         return EVAL_BODY_BUFFERED;
50     }
51
52     public Vector JavaDoc getTabButtons(){
53         //return this.tabButtons;
54
Vector JavaDoc v = new Vector JavaDoc();
55         for ( int i=0; i<this.tabButtons.size(); i++ ){
56             v.add(this.tabButtons.get(i));
57         }
58         return v;
59     }
60
61     public int doAfterBody() throws JspTagException JavaDoc {
62         logger.debug("Started");
63         JspWriter JavaDoc out = pageContext.getOut();
64         try {
65             //out.print(drawTabButtons());
66
bodyContent.writeOut(bodyContent.getEnclosingWriter());
67         } catch (IOException JavaDoc ioe) {
68             logger.debug("Exception : " + ioe.toString());
69         }
70         return SKIP_BODY;
71     }
72
73
74     public int doEndTag() throws JspException JavaDoc {
75         // let's reinitialize the tag variables to allow tag object reuse in
76
// pooling.
77
tabButtons = null;
78         return EVAL_PAGE;
79     }
80
81
82 }
83
Popular Tags