KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > panoptes > component > jmx > jelly > PanoptesTagLibrary


1 package net.sf.panoptes.component.jmx.jelly;
2
3
4 import org.apache.commons.jelly.JellyException;
5 import org.apache.commons.jelly.Tag;
6 import org.apache.commons.jelly.TagLibrary;
7 import org.apache.commons.jelly.impl.TagFactory;
8 import org.apache.commons.jelly.tags.jface.ActionTag;
9 import org.apache.commons.jelly.tags.jface.ContributionItemTag;
10 import org.apache.commons.jelly.tags.jface.JFaceLayoutTag;
11 import org.apache.commons.jelly.tags.jface.JFaceTagLibrary;
12 import org.apache.commons.jelly.tags.jface.JFaceWidgetTag;
13 import org.apache.commons.jelly.tags.jface.MenuManagerTag;
14 import org.apache.commons.jelly.tags.jface.ViewerTag;
15 import org.apache.commons.jelly.tags.jface.preference.FieldEditorTag;
16 import org.apache.commons.jelly.tags.jface.preference.PreferenceDialogTag;
17 import org.apache.commons.jelly.tags.jface.window.ApplicationWindowTag;
18 import org.apache.commons.jelly.tags.jface.wizard.WizardDialogTag;
19 import org.apache.commons.jelly.tags.jface.wizard.WizardPageTag;
20 import org.xml.sax.Attributes JavaDoc;
21
22 /**
23  * A Jelly custom tag library that creates JFace user interfaces
24  * This taglib extends the SWT tag lib
25  *
26  * @author <a HREF="mailto:ckl@dacelo.nl">Christiaan ten Klooster</a>
27  */

28 public class PanoptesTagLibrary extends TagLibrary {
29
30     public PanoptesTagLibrary() {
31         super();
32         // Preference tags
33
registerTag("group", GroupTag.class);
34         registerTag("mbean", MBeanTag.class);
35         registerTag("query", MBeanQueryTag.class);
36         registerTag("domains", DomainsTag.class);
37         registerTag("contextEntry", ContextEntryTag.class);
38         registerTag("mbeanAlias", MBeanAliasTag.class);
39         registerTag("jndi", JNDITag.class);
40     }
41
42     /**
43      * @param string
44      * @param class1
45      */

46     private void registerMenuManager(String JavaDoc name, final Class JavaDoc theClass) {
47         registerTagFactory(name, new TagFactory() {
48             /**
49              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
50              */

51             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
52                 return new MenuManagerTag();
53             }
54         });
55
56     }
57
58     /**
59      * Register a widget tag for the given name
60      *
61      * @param name
62      * @param widgetClass
63      * @param style
64      */

65     protected void registerViewerTag(String JavaDoc name, final Class JavaDoc theClass, final int style) {
66         registerTagFactory(name, new TagFactory() {
67             /**
68              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
69              */

70             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
71                 return new ViewerTag(theClass, style);
72             }
73         });
74     }
75
76     /**
77      * Register a widget tag for the given name
78      *
79      * @param name
80      * @param widgetClass
81      * @param style
82      */

83     protected void registerWindowTag(String JavaDoc name, final Class JavaDoc theClass) {
84         registerTagFactory(name, new TagFactory() {
85             /**
86              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
87              */

88             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
89                 return new ApplicationWindowTag(theClass);
90             }
91         });
92     }
93
94     /**
95      * Register an action tag for the given name
96      */

97     protected void registerActionTag(String JavaDoc name, final Class JavaDoc theClass) {
98         registerTagFactory(name, new TagFactory() {
99             /**
100              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
101              */

102             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
103                 return new ActionTag(theClass);
104             }
105         });
106     }
107
108     /**
109        * Register a contribution item tag for the given name
110        */

111     protected void registerContributionItemTag(String JavaDoc name, final Class JavaDoc theClass) {
112         registerTagFactory(name, new TagFactory() {
113             /**
114              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
115              */

116             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
117                 return new ContributionItemTag(theClass);
118             }
119         });
120     }
121
122     /**
123      * @param name
124      * @param theClass
125      */

126     protected void registerPreferenceDialogTag(String JavaDoc name, final Class JavaDoc theClass) {
127         registerTagFactory(name, new TagFactory() {
128             /**
129              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
130              */

131             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
132                 return new PreferenceDialogTag(theClass);
133             }
134         });
135     }
136
137     /**
138      * @param name
139      * @param theClass
140      */

141     protected void registerFieldEditorTag(String JavaDoc name, final Class JavaDoc theClass) {
142         registerTagFactory(name, new TagFactory() {
143             /**
144              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
145              */

146             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
147                 return new FieldEditorTag(theClass);
148             }
149         });
150     }
151
152     /**
153      * @param name
154      * @param theClass
155      */

156     protected void registerWizardDialogTag(String JavaDoc name, final Class JavaDoc theClass) {
157         registerTagFactory(name, new TagFactory() {
158             /**
159              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
160              */

161             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
162                 return new WizardDialogTag(theClass);
163             }
164         });
165     }
166
167     protected void registerWizardPageTag(String JavaDoc name, final Class JavaDoc theClass) {
168         registerTagFactory(name, new TagFactory() {
169             /**
170              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
171              */

172             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
173                 return new WizardPageTag(theClass);
174             }
175         });
176     }
177
178
179     /**
180      * Register a widget tag for the given name
181      */

182     protected void registerWidgetTag(String JavaDoc name, final Class JavaDoc widgetClass, final int style) {
183         registerTagFactory(name, new TagFactory() {
184             /**
185              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
186              */

187             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
188                 return new JFaceWidgetTag(widgetClass, style);
189             }
190         });
191     }
192
193     /**
194      * Register a layout tag for the given name
195      */

196     protected void registerLayoutTag(String JavaDoc name, final Class JavaDoc layoutClass) {
197         registerTagFactory(name, new TagFactory() {
198             /**
199              * @see org.apache.commons.jelly.impl.TagFactory#createTag(java.lang.String, org.xml.sax.Attributes)
200              */

201             public Tag createTag(String JavaDoc name, Attributes JavaDoc attributes) throws JellyException {
202                 return new JFaceLayoutTag(layoutClass);
203             }
204         });
205     }
206
207 }
208
Popular Tags