KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > mlw > vlh > web > tag > BaseColumnTag


1 /**
2  * Copyright (c) 2003 held jointly by the individual authors.
3  *
4  * This library is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License as published
6  * by the Free Software Foundation; either version 2.1 of the License, or
7  * (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; with out even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library; if not, write to the Free Software Foundation,
16  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17  *
18  * > http://www.gnu.org/copyleft/lesser.html
19  * > http://www.opensource.org/licenses/lgpl-license.php
20  */

21 package net.mlw.vlh.web.tag;
22
23 import javax.servlet.jsp.JspException JavaDoc;
24
25 import net.mlw.vlh.web.util.JspUtils;
26
27 /**
28  * Base class for columnTags
29  * @author Andrej Zachar
30  * @version $Revision: 1.5 $ $Date: 2006/01/06 10:53:24 $
31  */

32 public class BaseColumnTag extends ConfigurableTag
33 {
34
35    private DefaultRowTag rowTag;
36
37    /** The value to display in the column header. */
38    private String JavaDoc title;
39
40    private String JavaDoc titleKey;
41
42    /**
43     * The value to display in the column header tooltip.
44     * (In html rendered as the attribute 'title' of <th>).
45     */

46    private String JavaDoc toolTip;
47
48    /**
49     * A key of the localized message to be displayed in the column header tooltip.
50     * (In html rendered as the attribute 'title' of <th>).
51     */

52    private String JavaDoc toolTipKey;
53
54    /**
55     * @return Returns the title.
56     */

57    public String JavaDoc getTitle()
58    {
59       return title;
60    }
61
62    /**
63     * Sets the value to display in the column header.
64     *
65     * @param title
66     * The value to display in the column header.
67     */

68    public void setTitle(String JavaDoc title)
69    {
70       this.title = title;
71    }
72
73    /**
74     * @return Returns the titleKey.
75     */

76    public String JavaDoc getTitleKey()
77    {
78       return titleKey;
79    }
80
81    /**
82     * @param titleKey
83     * The titleKey to set.
84     */

85    public void setTitleKey(String JavaDoc titleKey)
86    {
87       this.titleKey = titleKey;
88    }
89
90    /**
91     * The value to display in the column header tooltip.
92     * It's shown when a mouse pointer is over the title.
93     * It's useful when you don't want a long title but still you'd like to
94     * provide to a user a more detailed info about the column.
95     * (In html rendered as the attribute 'title' of <th>).
96     * @return The value to display in the column header tooltip.
97     */

98    public String JavaDoc getToolTip()
99    {
100       return toolTip;
101    }
102
103    /**
104     * The value to display in the column header tooltip.
105     * (In html rendered as the attribute 'title' of <th>).
106     * @param toolTip
107     * The value to display in the column header tooltip.
108     */

109    public void setToolTip(String JavaDoc toolTip)
110    {
111       this.toolTip = toolTip;
112    }
113
114    /**
115     * Return the key of the localized message to be displayed in the column header tooltip.
116     * (In html rendered as the attribute 'title' of <th>).
117     *
118     * @return The key of the localized message to be displayed in the column header tooltip.
119     * @see org.springframework.context.support.ResourceBundleMessageSource
120     */

121    public String JavaDoc getToolTipKey()
122    {
123       return toolTipKey;
124    }
125
126    /**
127     * Set the key of the localized message to be displayed in the column header tooltip.
128     * (In html rendered as the attribute 'title' of <th>).
129     *
130     * @param toolTipKey
131     * The key of the localized message to be displayed in the column header tooltip.
132     * @see org.springframework.context.support.ResourceBundleMessageSource
133     */

134    public void setToolTipKey(String JavaDoc toolTipKey)
135    {
136       this.toolTipKey = toolTipKey;
137    }
138
139    /**
140     * @see javax.servlet.jsp.tagext.Tag#doEndTag()
141     */

142    public int doEndTag() throws JspException JavaDoc
143    {
144       int result = super.doEndTag();
145       reset();
146       return result;
147    }
148
149    public DefaultRowTag getRowTag() throws JspException JavaDoc
150    {
151       if (rowTag == null)
152       {
153          rowTag = (DefaultRowTag) JspUtils.getParent(this, DefaultRowTag.class);
154       }
155       return rowTag;
156    }
157
158    private void reset()
159    {
160       this.rowTag = null;
161       this.title = null;
162       this.titleKey = null;
163       this.toolTip = null;
164       this.toolTipKey = null;
165    }
166
167    /**
168     * Called on a Tag handler to release state.
169     * The page compiler guarantees that JSP page implementation
170     * objects will invoke this method on all tag handlers,
171     * but there may be multiple invocations on doStartTag and doEndTag in between.
172     *
173     * @see javax.servlet.jsp.tagext.Tag#release()
174     */

175    public void release()
176    {
177       super.release();
178       reset();
179    }
180 }
Popular Tags