Project Report: fawkez

Packagesummary org.jcoderz.commons.taskdefs

org.jcoderz.commons.taskdefs.package.html

LineHitsNoteSource
1  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3  
4  <html xmlns="http://www.w3.org/1999/xhtml">
5     <head>
6        <title>org.jcoderz.commons.taskdefs package</title>
7     </head>
8  
9     <body>
10        <p>This package contains Ant tasks that can be used by any
11        jCoderZ Java project.
12        </p>
13  
14        <p>
15        Classes in this package are only allowed to have a dependency to
16        the JDK, the {@link org.jcoderz.commons} and the
17        {@link org.jcoderz.commons.util} package.package.
18        </p>
19  
20        <h1>Log Message Generator</h1>
21  
22        <p>Process a XML document file that define the application's log
23        messages and generate corresponding java typesafe enum classes.
24        The classes are generated via XSLT and various stylesheets from
25        the FawkeZ Java archive. </p>
26  
27        <p><b>Note:</b>The
28        <a href="http://xml.apache.org/xalan2/">Xalan2</a> XSL processor
29        is required for this task. If you are using JDK 1.4 or higher,
30        this task does not require external libraries not supplied in
31        the FawkeZ distribution.</p>
32  
33        <p>This task doesn't support/require any nested elements.</p>
34  
35        <h2>Parameters</h2>
36           <table border="1" cellpadding="2" cellspacing="0" summary="parameters">
37             <tr>
38               <td valign="top"><b>Attribute</b></td>
39               <td valign="top"><b>Description</b></td>
40               <td align="center" valign="top"><b>Required</b></td>
41             </tr>
42             <tr>
43               <td valign="top">destdir</td>
44               <td valign="top">directory in which to store the results.</td>
45               <td align="center" valign="top">Yes</td>
46             </tr>
47             <tr>
48               <td valign="top">in</td>
49               <td valign="top">specifies a single XML document that contains
50               the log message info.</td>
51               <td valign="top" align="center">Yes</td>
52             </tr>
53             <tr>
54               <td valign="top">out</td>
55               <td valign="top">specifies the output name for the log output.</td>
56               <td valign="top" align="center">Yes</td>
57             </tr>
58             <tr>
59               <td valign="top">project</td>
60               <td valign="top">specifies the project name. The project name
61               defines the path in the XML document for the transformation.
62               The project name can either be the name as defined in the
63               XML document in the <code>@name</code> attribute or
64               it can be set to the value as defined in the
65               <code>@short-name</code> attribute.</td>
66               <td valign="top" align="center">Yes</td>
67             </tr>
68             <tr>
69               <td valign="top">xsl</td>
70               <td valign="top">specifies a XSL stylesheet that is used for
71               transformation.</td>
72               <td valign="top" align="center">No; default is to use the
73               build-in stylesheet.</td>
74             </tr>
75             <tr>
76               <td valign="top">force</td>
77               <td valign="top">Recreate target files, even if they are newer
78                 than their corresponding source files.</td>
79               <td valign="top" align="center">No; default is false</td>
80             </tr>
81             <tr>
82               <td valign="top">failonerror</td>
83               <td valign="top">Stop the buildprocess if the target fails
84               with an error.</td>
85               <td valign="top" align="center">No; default is false</td>
86             </tr>
87           </table>
88  
89        <h2>Examples</h2>
90  
91        <blockquote>
92           <pre>
93        &lt;taskdef name="log-message-generator"
94                 classname="org.jcoderz.commons.taskdefs.LogMessageGenerator">
95           &lt;classpath>
96              &lt;pathelement location="path/to/fawkez.jar"/>
97           &lt;/classpath>
98        &lt;/taskdef>
99           </pre>
100           Add task definition to the current project.
101           <pre>
102        &lt;log-message-generator
103           in="${base.dir}/src/xml/log-message-info.xml"
104           out="${build.dir}/log-message-info.xml.test.out"
105           destDir="${build.dir}/foo"
106           application="FawkeZ"
107           failonerror="true"
108           force="true"/>
109           </pre>
110           Generates the log message info classes to the directory
111           <code>${build.dir}/foo</code> for the applicaton
112           <code>FawkeZ</code>. The dependency check is omitted, since
113           the <code>force</code> attribute is set to <code>true</code>.
114           This target will fail if an error occurs.
115        </blockquote>
116  
117        <h1>Simple Types Generator</h1>
118  
119        <p>Process a XML document file that define simple types like
120           type-safe enumerations or restricted strings and generate
121           the java classes.
122           The classes are generated via XSLT and various stylesheets from
123           the FawkeZ Java archive. </p>
124  
125        <blockquote>
126           Take the following XML document defines two simple-types:
127           <ul>
128              <li>A type-safe enumeration class.</li>
129              <li>A restricted string class.</li>
130           </ul>
131           <pre>
132  &lt;?xml version="1.0" encoding="UTF-8"?>
133  
134  &lt;simpleTypes>
135  
136  &lt;!-- ===============================================================
137       TYPE-SAFE ENUMERATIONS
138       =============================================================== -->
139     &lt;typeSafeEnumerations>
140        &lt;enumeration
141           classname="Color"
142           package="org.jcoderz.commons">
143           &lt;value>blue&lt;/value>
144           &lt;value>red&lt;/value>
145           &lt;value>yellow&lt;/value>
146        &lt;/enumeration>
147     &lt;/typeSafeEnumerations>
148  
149  &lt;!-- ===============================================================
150       RESTRICTED STRINGS
151       =============================================================== -->
152     &lt;restrictedStrings>
153        &lt;restrictedString
154           classname="FooString"
155           package="org.jcoderz.commons"
156           min-length="1"
157           max-length="10">
158           &lt;constant
159              name="CONSTANT_VALUE"
160              value="foo"
161              comment="Additional Constant defined in the XML document."/>
162        &lt;/restrictedString>
163     &lt;/restrictedStrings>
164  
165  &lt;!-- ===============================================================
166       REGEX STRINGS
167       =============================================================== -->
168     &lt;regexStrings>
169        &lt;regexString
170           classname="RegexString"
171           package="org.jcoderz.commons">
172           &lt;regex>foo|bar|buz&lt;/regex>
173        &lt;/regexString>
174     &lt;/regexStrings>
175  
176  &lt;/simpleTypes>
177           </pre>
178        </blockquote>
179  
180        <p><b>Note:</b>The
181        <a href="http://xml.apache.org/xalan2/">Xalan2</a> XSL processor
182        is required for this task. If you are using JDK 1.4 or higher,
183        this task does not require external libraries not supplied in
184        the FawkeZ distribution.</p>
185  
186        <p>This task doesn't support/require any nested elements.</p>
187  
188        <h2>Parameters</h2>
189           <table border="1" cellpadding="2" cellspacing="0" summary="parameters">
190             <tr>
191               <td valign="top"><b>Attribute</b></td>
192               <td valign="top"><b>Description</b></td>
193               <td align="center" valign="top"><b>Required</b></td>
194             </tr>
195             <tr>
196               <td valign="top">destdir</td>
197               <td valign="top">directory in which to store the results.</td>
198               <td align="center" valign="top">Yes</td>
199             </tr>
200             <tr>
201               <td valign="top">in</td>
202               <td valign="top">specifies a single XML document that contains
203               the log message info.</td>
204               <td valign="top" align="center">Yes</td>
205             </tr>
206             <tr>
207               <td valign="top">out</td>
208               <td valign="top">specifies the output name for the log output.</td>
209               <td valign="top" align="center">Yes</td>
210             </tr>
211             <tr>
212               <td valign="top">xsl</td>
213               <td valign="top">specifies a XSL stylesheet that is used for
214               transformation.</td>
215               <td valign="top" align="center">No; default is to use the
216               build-in stylesheet.</td>
217             </tr>
218             <tr>
219               <td valign="top">force</td>
220               <td valign="top">Recreate target files, even if they are newer
221                 than their corresponding source files.</td>
222               <td valign="top" align="center">No; default is false</td>
223             </tr>
224             <tr>
225               <td valign="top">failonerror</td>
226               <td valign="top">Stop the buildprocess if the target fails
227               with an error.</td>
228               <td valign="top" align="center">No; default is false</td>
229             </tr>
230           </table>
231  
232        <h2>Examples</h2>
233  
234        <blockquote>
235           <pre>
236        &lt;taskdef name="simple-type-generator"
237                 classname="org.jcoderz.commons.taskdefs.SimpleTypeGenerator">
238           &lt;classpath>
239              &lt;pathelement location="path/to/fawkez.jar"/>
240           &lt;/classpath>
241        &lt;/taskdef>
242           </pre>
243           Add task definition to the current project.
244           <pre>
245        &lt;simple-type-generator
246           in="${base.dir}/src/xml/simple-types.xml"
247           out="${build.dir}/simply-types.out"
248           destDir="${build.dir}/foo"
249           failonerror="true"
250           force="true"/>
251           </pre>
252           Generates the simple type classes to the directory
253           <code>${build.dir}/foo</code>.
254           The dependency check is omitted, since
255           the <code>force</code> attribute is set to <code>true</code>.
256           This target will fail if an error occurs.
257        </blockquote>
258  
259        <h1>Generator for Configuration Classes and Initialization Files</h1>
260  
261        <p>Process a XML document file that define the application's
262           configuration entries and generate corresponding java classes
263           or initialization files.
264           The classes or files are generated via XSLT and various stylesheets
265           from the FawkeZ Java archive. </p>
266  
267        <p><b>Note:</b>The
268        <a href="http://xml.apache.org/xalan2/">Xalan2</a> XSL processor
269        is required for this task. If you are using JDK 1.4 or higher,
270        this task does not require external libraries not supplied in
271        the FawkeZ distribution.</p>
272  
273        <p>This task doesn't support/require any nested elements.</p>
274  
275        <h2>Parameters</h2>
276           <table border="1" cellpadding="2" cellspacing="0" summary="parameters">
277             <tr>
278               <td valign="top"><b>Attribute</b></td>
279               <td valign="top"><b>Description</b></td>
280               <td align="center" valign="top"><b>Required</b></td>
281             </tr>
282             <tr>
283               <td valign="top">destdir</td>
284               <td valign="top">directory in which to store the results.
285                 <b>Note</b>: This attribute is only supported by the
286                 configuration generator that produces the Java classes.</td>
287               <td align="center" valign="top">Yes, for the configuration
288                 generator that produces the Java classes.</td>
289             </tr>
290             <tr>
291               <td valign="top">in</td>
292               <td valign="top">specifies a single XML document that contains
293               the log message info.</td>
294               <td valign="top" align="center">Yes</td>
295             </tr>
296             <tr>
297               <td valign="top">out</td>
298               <td valign="top">specifies the output name for the log output.</td>
299               <td valign="top" align="center">Yes</td>
300             </tr>
301             <tr>
302               <td valign="top">project</td>
303               <td valign="top">specifies the project name. The project name
304               defines the path in the XML document for the transformation.
305               The project name can either be the name as defined in the
306               XML document in the <code>@name</code> attribute or
307               it can be set to the value as defined in the
308               <code>@short-name</code> attribute.</td>
309               <td valign="top" align="center">Yes</td>
310             </tr>
311             <tr>
312               <td valign="top">groups</td>
313               <td valign="top">specifies the group names. The group names
314               are used to select the elements in the XML document
315               for the transformation.
316               The group names must be a non-empty list seperated by
317               a whitespace of the <code>@short-name</code> attribute in the
318               group element.</td>
319               <td valign="top" align="center">Yes</td>
320             </tr>
321             <tr>
322               <td valign="top">mode</td>
323               <td valign="top">specifies the initialization mode.
324                 Valid values are: <b>properties</b> or <b>sql</b>.
325                 <b>Note</b>: This attribute is only supported by the
326                 configuration generator that produces the initialization files.
327                 </td>
328               <td valign="top" align="center">No; default is <i>
329                 properties</i>.</td>
330             </tr>
331             <tr>
332               <td valign="top">xsl</td>
333               <td valign="top">specifies a XSL stylesheet that is used for
334               transformation.</td>
335               <td valign="top" align="center">No; default is to use the
336               build-in stylesheet.</td>
337             </tr>
338             <tr>
339               <td valign="top">force</td>
340               <td valign="top">Recreate target files, even if they are newer
341                 than their corresponding source files.</td>
342               <td valign="top" align="center">No; default is false</td>
343             </tr>
344             <tr>
345               <td valign="top">failonerror</td>
346               <td valign="top">Stop the buildprocess if the target fails
347               with an error.</td>
348               <td valign="top" align="center">No; default is false</td>
349             </tr>
350           </table>
351  
352        <h2>Examples</h2>
353  
354        <blockquote>
355           <pre>
356        &lt;taskdef name="config-classes-generator"
357                 classname="org.jcoderz.commons.taskdefs.ConfigurationClassesGenerator">
358           &lt;classpath>
359              &lt;pathelement location="path/to/fawkez.jar"/>
360           &lt;/classpath>
361        &lt;/taskdef>
362           </pre>
363           Add task definition to the current project.
364           <pre>
365        &lt;config-classes-generator
366           in="${base.dir}/src/xml/app-info.xml"
367           out="${build.dir}/app-info-config-classes.xml.out"
368           destDir="${build.dir}/foo"
369           application="FawkeZ"
370           groups="SEC FOO BAR"
371           failonerror="true"
372           force="true"/>
373           </pre>
374           Generates the configuration classes to the directory
375           <code>${build.dir}/foo</code> for the applicaton
376           <code>FawkeZ</code> and the groups/services <i>SEC</i>,
377           <i>FOO</i> and <i>BAR</i>. The dependency check is omitted, since
378           the <code>force</code> attribute is set to <code>true</code>.
379           This target will fail if an error occurs.
380        </blockquote>
381  
382        <blockquote>
383           <pre>
384        &lt;taskdef name="config-init-file-generator"
385                 classname="org.jcoderz.commons.taskdefs.ConfigurationInitFileGenerator">
386           &lt;classpath>
387              &lt;pathelement location="path/to/fawkez.jar"/>
388           &lt;/classpath>
389        &lt;/taskdef>
390           </pre>
391           Add task definition to the current project.
392           <pre>
393        &lt;config-init-file-generator
394           in="${base.dir}/src/xml/app-info.xml"
395           out="${build.dir}/configuration.properties"
396           application="FawkeZ"
397           groups="SEC FOO BAR"
398           mode="SQL"
399           failonerror="true"
400           force="true"/>
401           </pre>
402           Generates the configuration initialization <b>property</b> file
403           <code>${build.dir}/configuration.properties</code> for the applicaton
404           <code>FawkeZ</code> and the groups/services <i>SEC</i>,
405           <i>FOO</i> and <i>BAR</i>. The dependency check is omitted, since
406           the <code>force</code> attribute is set to <code>true</code>.
407           This target will fail if an error occurs.
408        </blockquote>
409  
410     </body>
411  </html>
412  

Findings in this File