1 /***
2 * Licensed under the Artistic License; you may not use this file
3 * except in compliance with the License.
4 * You may obtain a copy of the License at
5 *
6 * http://displaytag.sourceforge.net/license.html
7 *
8 * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
9 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
10 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
11 */
12 package org.displaytag.tags;
13
14 import java.beans.IntrospectionException;
15 import java.beans.PropertyDescriptor;
16 import java.beans.SimpleBeanInfo;
17 import java.util.ArrayList;
18 import java.util.List;
19
20
21 /***
22 * Beaninfo class for tableTag. Needed to make the "class" tag attribute working and to handle the swith between
23 * setName() and setNameString() setters for the name attribute.
24 * @author Fabrizio Giustina
25 * @version $Revision: 1.11 $ ($Author: fgiust $)
26 */
27 public class TableTagBeanInfo extends SimpleBeanInfo
28 {
29
30 /***
31 * @see java.beans.BeanInfo#getPropertyDescriptors()
32 */
33 public PropertyDescriptor[] getPropertyDescriptors()
34 {
35 List proplist = new ArrayList();
36
37 try
38 {
39 proplist.add(new PropertyDescriptor("cellpadding",
40 TableTag.class, null, "setCellpadding"));
41 proplist.add(new PropertyDescriptor("cellspacing",
42 TableTag.class, null, "setCellspacing"));
43 proplist.add(new PropertyDescriptor("class",
44 TableTag.class, null, "setClass"));
45 proplist.add(new PropertyDescriptor("decorator",
46 TableTag.class, null, "setDecorator"));
47 proplist.add(new PropertyDescriptor("defaultorder",
48 TableTag.class, null, "setDefaultorder"));
49 proplist.add(new PropertyDescriptor("defaultsort",
50 TableTag.class, null, "setDefaultsort"));
51 proplist.add(new PropertyDescriptor("export",
52 TableTag.class, null, "setExport"));
53 proplist.add(new PropertyDescriptor("frame",
54 TableTag.class, null, "setFrame"));
55 proplist.add(new PropertyDescriptor("length",
56 TableTag.class, null, "setLength"));
57 proplist.add(new PropertyDescriptor("offset",
58 TableTag.class, null, "setOffset"));
59 proplist.add(new PropertyDescriptor("pagesize",
60 TableTag.class, null, "setPagesize"));
61 proplist.add(new PropertyDescriptor("requestURI",
62 TableTag.class, null, "setRequestURI"));
63 proplist.add(new PropertyDescriptor("requestURIcontext",
64 TableTag.class, null, "setRequestURIcontext"));
65 proplist.add(new PropertyDescriptor("rules",
66 TableTag.class, null, "setRules"));
67 proplist.add(new PropertyDescriptor("sort",
68 TableTag.class, null, "setSort"));
69 proplist.add(new PropertyDescriptor("style",
70 TableTag.class, null, "setStyle"));
71 proplist.add(new PropertyDescriptor("summary",
72 TableTag.class, null, "setSummary"));
73 proplist.add(new PropertyDescriptor("excludedParams",
74 TableTag.class, null, "setExcludedParams"));
75 proplist.add(new PropertyDescriptor("id",
76 TableTag.class, null, "setUid"));
77 proplist.add(new PropertyDescriptor("uid",
78 TableTag.class, null, "setUid"));
79 proplist.add(new PropertyDescriptor("htmlId",
80 TableTag.class, null, "setHtmlId"));
81
82
83 proplist.add(new PropertyDescriptor("list",
84 TableTag.class, null, "setList"));
85 proplist.add(new PropertyDescriptor("property",
86 TableTag.class, null, "setProperty"));
87 proplist.add(new PropertyDescriptor("scope",
88 TableTag.class, null, "setScope"));
89
90 proplist.add(new PropertyDescriptor("width",
91 TableTag.class, null, "setWidth"));
92 proplist.add(new PropertyDescriptor("styleClass",
93 TableTag.class, null, "setClass"));
94 proplist.add(new PropertyDescriptor("border",
95 TableTag.class, null, "setBorder"));
96 proplist.add(new PropertyDescriptor("align",
97 TableTag.class, null, "setAlign"));
98 proplist.add(new PropertyDescriptor("background",
99 TableTag.class, null, "setBackground"));
100 proplist.add(new PropertyDescriptor("bgcolor",
101 TableTag.class, null, "setBgcolor"));
102 proplist.add(new PropertyDescriptor("height",
103 TableTag.class, null, "setHeight"));
104 proplist.add(new PropertyDescriptor("hspace",
105 TableTag.class, null, "setHspace"));
106 proplist.add(new PropertyDescriptor("vspace",
107 TableTag.class, null, "setVspace"));
108
109
110 proplist.add(new PropertyDescriptor("className",
111 TableTag.class, null, "setClass"));
112
113 try
114 {
115 Class.forName("javax.servlet.jsp.tagext.IterationTag");
116
117 proplist.add(new PropertyDescriptor("name",
118 TableTag.class, null, "setName"));
119 }
120 catch (Throwable e)
121 {
122
123 proplist.add(new PropertyDescriptor("name",
124 TableTag.class, null, "setNameString"));
125 }
126
127 }
128 catch (IntrospectionException ex)
129 {
130
131 }
132
133 PropertyDescriptor[] result = new PropertyDescriptor[proplist.size()];
134 return ((PropertyDescriptor[]) proplist.toArray(result));
135 }
136 }