KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > improve > struts > taglib > layout > LabelledTag


1 package fr.improve.struts.taglib.layout;
2
3 import javax.servlet.jsp.JspException JavaDoc;
4 import javax.servlet.jsp.PageContext JavaDoc;
5
6 import org.apache.struts.Globals;
7 import org.apache.struts.taglib.html.Constants;
8 import org.apache.struts.util.MessageResources;
9
10 import fr.improve.struts.taglib.layout.el.Expression;
11 import fr.improve.struts.taglib.layout.skin.Skin;
12 import fr.improve.struts.taglib.layout.util.LayoutUtils;
13
14 /**
15  * Base class for struts layout tags, as quite a lof of tags have a label
16  * @author: Jean-Noel Ribette
17  */

18 public abstract class LabelledTag extends LayoutTagSupport {
19
20     protected static MessageResources messages =
21         MessageResources.getMessageResources(Constants.Package + ".LocalStrings");
22
23     protected String JavaDoc arg0;
24     protected String JavaDoc arg1;
25     protected String JavaDoc arg2;
26     protected String JavaDoc arg3;
27     protected String JavaDoc arg4;
28     
29     protected String JavaDoc arg0Name;
30     protected String JavaDoc arg0Property;
31     
32     protected String JavaDoc arg1Name;
33     protected String JavaDoc arg1Property;
34
35     protected String JavaDoc key;
36
37     protected String JavaDoc bundle = Globals.MESSAGES_KEY;
38
39     protected String JavaDoc localeKey = Globals.LOCALE_KEY;
40
41     protected String JavaDoc name;
42     protected String JavaDoc property;
43
44     protected String JavaDoc styleClass;
45     protected String JavaDoc style;
46     
47     /**
48      * Id of the struts-layout tag. Can be used to hide or display all the generated HTML.
49      */

50     protected String JavaDoc layoutId;
51     
52     /**
53      * The current skin
54      */

55     private Skin skin = null;
56         
57     public String JavaDoc getKey() {
58         return key;
59     }
60     protected String JavaDoc getLabel() throws JspException JavaDoc {
61         try {
62             if (key == null && name != null)
63                 return (String JavaDoc) LayoutUtils
64                     .getBeanFromPageContext(pageContext, name, property)
65                     .toString();
66         } catch (ClassCastException JavaDoc l_cce) {
67             throw new JspException JavaDoc("oups");
68         }
69         
70         String JavaDoc lc_key = null;
71         String JavaDoc[] lc_args = new String JavaDoc[5];
72         String JavaDoc lc_arg0 = null;
73         String JavaDoc lc_arg1 = null;
74         
75         Object JavaDoc lc_obj;
76         if (arg0Name != null) {
77             lc_obj = LayoutUtils.getBeanFromPageContext(pageContext, arg0Name, arg0Property);
78             if (lc_obj != null) {
79                 lc_arg0 = lc_obj.toString();
80             }
81         } else {
82             lc_arg0 = Expression.evaluate(arg0, pageContext);
83         }
84         if (arg1Name != null) {
85             lc_obj = LayoutUtils.getBeanFromPageContext(pageContext, arg1Name, arg1Property);
86             if (lc_obj != null) {
87                 lc_arg1 = lc_obj.toString();
88             }
89         } else {
90             lc_arg1 = Expression.evaluate(arg1, pageContext);
91         }
92         
93         lc_key = Expression.evaluate(key, pageContext);
94         lc_args[0] = lc_arg0;
95         lc_args[1] = lc_arg1;
96         lc_args[2] = Expression.evaluate(arg2, pageContext);
97         lc_args[3] = Expression.evaluate(arg3, pageContext);
98         lc_args[4] = Expression.evaluate(arg4, pageContext);
99         return LayoutUtils.getLabel(pageContext, bundle, lc_key, lc_args, false);
100     }
101     public String JavaDoc getName() {
102         return name;
103     }
104
105     public String JavaDoc getProperty() {
106         return property;
107     }
108     public String JavaDoc getStyleClass() {
109         return styleClass;
110     }
111     public void setPageContext(PageContext JavaDoc in_pageContext) {
112         super.setPageContext(in_pageContext);
113         skin = LayoutUtils.getSkin(in_pageContext.getSession());
114     }
115     protected Skin getSkin() {
116         return skin;
117     }
118     public void release() {
119         super.release();
120         key = null;
121         bundle = Globals.MESSAGES_KEY;
122         localeKey = Globals.LOCALE_KEY;
123         arg0 = null;
124         arg1 = null;
125         arg2 = null;
126         arg3 = null;
127         arg4 = null;
128         name = null;
129         property = null;
130         styleClass = null;
131         style = null;
132         skin = null;
133         
134         arg0Name = null;
135         arg0Property = null;
136         arg1Name = null;
137         arg1Property = null;
138         
139         layoutId = null;
140     }
141     /**
142      * Sets the arg0.
143      * @param arg0 The arg0 to set
144      */

145     public void setArg0(String JavaDoc arg0) {
146         this.arg0 = arg0;
147     }
148
149     /**
150      * Sets the arg1.
151      * @param arg1 The arg1 to set
152      */

153     public void setArg1(String JavaDoc arg1) {
154         this.arg1 = arg1;
155     }
156
157     /**
158      * Sets the arg2.
159      * @param arg2 The arg2 to set
160      */

161     public void setArg2(String JavaDoc arg2) {
162         this.arg2 = arg2;
163     }
164
165     /**
166      * Sets the arg3.
167      * @param arg3 The arg3 to set
168      */

169     public void setArg3(String JavaDoc arg3) {
170         this.arg3 = arg3;
171     }
172
173     /**
174      * Sets the arg4.
175      * @param arg4 The arg4 to set
176      */

177     public void setArg4(String JavaDoc arg4) {
178         this.arg4 = arg4;
179     }
180
181     public void setBundle(String JavaDoc bundle) {
182         this.bundle = bundle;
183     }
184     public void setKey(String JavaDoc key) {
185         this.key = key;
186     }
187     public void setName(String JavaDoc name) {
188         this.name = name;
189     }
190     public void setProperty(String JavaDoc property) {
191         this.property = property;
192     }
193     public void setStyleClass(String JavaDoc styleClass) {
194         this.styleClass = styleClass;
195     }
196     public void setStyle(String JavaDoc in_style) {
197         this.style = in_style;
198     }
199     public String JavaDoc getStyle() {
200         return style;
201     }
202     public String JavaDoc getBundle() {
203         return bundle;
204     }
205
206 // public String getLocale() {
207
// return localeKey;
208
// }
209

210     /**
211      * Gets the arg0.
212      * @return Returns a String
213      */

214     public String JavaDoc getArg0() {
215         return arg0;
216     }
217
218     /**
219      * Gets the arg1.
220      * @return Returns a String
221      */

222     public String JavaDoc getArg1() {
223         return arg1;
224     }
225
226     /**
227      * Gets the arg2.
228      * @return Returns a String
229      */

230     public String JavaDoc getArg2() {
231         return arg2;
232     }
233
234     /**
235      * Gets the arg3.
236      * @return Returns a String
237      */

238     public String JavaDoc getArg3() {
239         return arg3;
240     }
241
242     /**
243      * Gets the arg4.
244      * @return Returns a String
245      */

246     public String JavaDoc getArg4() {
247         return arg4;
248     }
249     /**
250      * Returns the arg0Name.
251      * @return String
252      */

253     public String JavaDoc getArg0Name() {
254         return arg0Name;
255     }
256
257     /**
258      * Returns the arg0Property.
259      * @return String
260      */

261     public String JavaDoc getArg0Property() {
262         return arg0Property;
263     }
264
265     /**
266      * Returns the arg1Name.
267      * @return String
268      */

269     public String JavaDoc getArg1Name() {
270         return arg1Name;
271     }
272
273     /**
274      * Returns the arg1Property.
275      * @return String
276      */

277     public String JavaDoc getArg1Property() {
278         return arg1Property;
279     }
280
281     /**
282      * Sets the arg0Name.
283      * @param arg0Name The arg0Name to set
284      */

285     public void setArg0Name(String JavaDoc arg0Name) {
286         this.arg0Name = arg0Name;
287     }
288
289     /**
290      * Sets the arg0Property.
291      * @param arg0Property The arg0Property to set
292      */

293     public void setArg0Property(String JavaDoc arg0Property) {
294         this.arg0Property = arg0Property;
295     }
296
297     /**
298      * Sets the arg1Name.
299      * @param arg1Name The arg1Name to set
300      */

301     public void setArg1Name(String JavaDoc arg1Name) {
302         this.arg1Name = arg1Name;
303     }
304
305     /**
306      * Sets the arg1Property.
307      * @param arg1Property The arg1Property to set
308      */

309     public void setArg1Property(String JavaDoc arg1Property) {
310         this.arg1Property = arg1Property;
311     }
312
313     /**
314      * Returns the layoutId.
315      * @return String
316      */

317     public String JavaDoc getLayoutId() {
318         return layoutId;
319     }
320
321     /**
322      * Sets the layoutId.
323      * @param layoutId The layoutId to set
324      */

325     public void setLayoutId(String JavaDoc layoutId) {
326         this.layoutId = layoutId;
327     }
328
329 }
Popular Tags