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 java.util.ArrayList;
24 import java.util.Collection;
25
26 import javax.servlet.jsp.JspException;
27
28 import net.mlw.vlh.ValueListInfo;
29 import net.mlw.vlh.web.util.JspUtils;
30
31 /***
32 * @todo Document this tag.
33 *
34 * @author Matthew L. Wilson
35 * @version $Revision: 1.6 $ $Date: 2005/11/23 15:02:16 $
36 */
37 public abstract class DefaultColumnsTag extends ConfigurableTag
38 {
39 /*** Commons logger. */
40
41
42 protected Integer defaultSort;
43
44 /*** Holds the included properties. */
45 protected Collection include = new ArrayList();
46
47 /*** Holds the excluded properties. */
48 protected Collection exclude = new ArrayList();
49
50 /***
51 * Sets the defaultSort property.
52 *
53 * @param value
54 * Valid values are "asc" and "desc".
55 */
56 public void setSortable(String value)
57 {
58 if ("asc".equals(value))
59 {
60 defaultSort = ValueListInfo.ASCENDING;
61 }
62 else if ("desc".equals(value))
63 {
64 defaultSort = ValueListInfo.DESCENDING;
65 }
66 }
67
68 /***
69 * Setter for the included properties
70 *
71 * @param included
72 * The included properties
73 */
74 public void setInclude(String included)
75 {
76 include = JspUtils.toCollection(included, "|");
77 }
78
79 /***
80 * Setter for the excluded properties
81 *
82 * @param excluded
83 * The excluded properties
84 */
85 public void setExclude(String excluded)
86 {
87 exclude = JspUtils.toCollection(excluded, "|");
88 }
89
90 /***
91 * @see javax.servlet.jsp.tagext.Tag#doEndTag()
92 */
93 public int doEndTag() throws JspException
94 {
95 int result = super.doEndTag();
96 reset();
97 return result;
98 }
99
100 private void reset()
101 {
102 this.defaultSort = null;
103 this.exclude.clear();
104 this.include.clear();
105 }
106
107 /***
108 * Called on a Tag handler to release state.
109 * The page compiler guarantees that JSP page implementation
110 * objects will invoke this method on all tag handlers,
111 * but there may be multiple invocations on doStartTag and doEndTag in between.
112 *
113 * @see javax.servlet.jsp.tagext.Tag#release()
114 */
115 public void release()
116 {
117 super.release();
118 reset();
119 }
120 }