Source code: com/arranger/jarl/ant/GenerateDocletInfo.java
1 package com.arranger.jarl.ant;
2
3 import com.arranger.jarl.util.doclet.JarlDoclet;
4 import com.arranger.jarl.util.doclet.JarlAttributeDef;
5 import com.sun.tools.javadoc.Main;
6 import org.apache.tools.ant.BuildException;
7 import org.apache.tools.ant.Task;
8
9 import java.io.ByteArrayOutputStream;
10 import java.io.OutputStream;
11 import java.io.PrintWriter;
12 import java.util.Iterator;
13 import java.util.Map;
14
15 /**
16 * GenerateDocletInfo created on Mar 14, 2003
17 */
18 public class GenerateDocletInfo extends Task {
19
20 protected String m_widgetXML;
21 protected String m_strokeXML;
22 protected String m_traitXML;
23 protected String m_filterXML;
24 protected String m_commonXML;
25
26 public void setWidgetXML(String widgetXML) {
27 m_widgetXML = widgetXML;
28 }
29
30 public void setStrokeXML(String strokeXML) {
31 m_strokeXML = strokeXML;
32 }
33
34 public void setTraitXML(String traitXML) {
35 m_traitXML = traitXML;
36 }
37
38 public void setFilterXML(String filterXML) {
39 m_filterXML = filterXML;
40 }
41
42 public void setCommonXML(String commonXML) {
43 m_commonXML = commonXML;
44 }
45
46 public void execute() throws BuildException {
47 String[] args = {
48 "-d", "docs",
49 "-sourcepath", "src",
50 "com.arranger.jarl.base",
51 "com.arranger.jarl.trait.base",
52 "com.arranger.jarl.stroke.base",
53 "com.arranger.jarl.widget.base",
54 "com.arranger.jarl.widget.container",
55 "com.arranger.jarl.widget.filter",
56 "com.arranger.jarl.widget",
57 "com.arranger.jarl.filter.base",
58 "com.arranger.jarl.filter.paint",
59 };
60
61 OutputStream os = new ByteArrayOutputStream();
62 Main.execute("jarlDoclet",
63 new PrintWriter(os),
64 new PrintWriter(os),
65 new PrintWriter(os),
66 JarlDoclet.class.getName(),
67 args);
68 JarlDoclet jarlDoclet = JarlDoclet.getJarlDoclet();
69 System.setProperty(m_widgetXML, dumpAttrs(jarlDoclet.getWidgetMap()));
70 System.setProperty(m_strokeXML, dumpAttrs(jarlDoclet.getStrokeMap()));
71 System.setProperty(m_traitXML, dumpAttrs(jarlDoclet.getTraitMap()));
72 System.setProperty(m_filterXML, dumpAttrs(jarlDoclet.getFilterMap()));
73 System.setProperty(m_commonXML, dumpAttrs(jarlDoclet.getCommonMap()));
74 }
75
76 protected String dumpAttrs(Map attributeDefMap) {
77 StringBuffer buffer = new StringBuffer();
78 for (Iterator it = attributeDefMap.values().iterator(); it.hasNext();) {
79 JarlAttributeDef attributeDef = (JarlAttributeDef)it.next();
80
81 buffer.append("<xs:attribute name=\"" + attributeDef.getName() +
82 "\" type=\"" + attributeDef.getType() + "\" use=\"optional\" />");
83 //buffer.append("\r\n");
84 }
85
86 return buffer.toString();
87 }
88 }