35 * This code is not part of an API. |
35 * This code is not part of an API. |
36 * It is implementation that is subject to change. |
36 * It is implementation that is subject to change. |
37 * Do not use it as an API |
37 * Do not use it as an API |
38 * |
38 * |
39 * @author Jamie Ho |
39 * @author Jamie Ho |
|
40 * @author Bhavesh Patel (Modified) |
40 * @since 1.5 |
41 * @since 1.5 |
41 */ |
42 */ |
42 |
43 |
43 public interface ClassWriter { |
44 public interface ClassWriter { |
44 |
45 |
45 /** |
46 /** |
46 * Write the header of the page. |
47 * Get the header of the page. |
47 * @param header the header to write. |
48 * |
48 */ |
49 * @param header the header string to write |
49 public void writeHeader(String header); |
50 * @return header content that needs to be added to the documentation |
50 |
51 */ |
51 /** |
52 public Content getHeader(String header); |
52 * Write the class tree documentation. |
53 |
53 */ |
54 /** |
54 public void writeClassTree(); |
55 * Get the class content header. |
55 |
56 * |
56 /** |
57 * @return class content header that needs to be added to the documentation |
57 * Write all implemented interfaces if this is a class. |
58 */ |
58 */ |
59 public Content getClassContentHeader(); |
59 public void writeImplementedInterfacesInfo(); |
60 |
60 |
61 /** |
61 /** |
62 * Add the class tree documentation. |
62 * Write all super interfaces if this is an interface. |
63 * |
63 */ |
64 * @param classContentTree class content tree to which the documentation will be added |
64 public void writeSuperInterfacesInfo(); |
65 */ |
65 |
66 public void addClassTree(Content classContentTree); |
66 /** |
67 |
67 * Write the type parameter information. |
68 /** |
68 */ |
69 * Get the class information tree header. |
69 public void writeTypeParamInfo(); |
70 * |
70 |
71 * @return class informaion tree header that needs to be added to the documentation |
71 /** |
72 */ |
72 * Write all the classes that extend this one. |
73 public Content getClassInfoTreeHeader(); |
73 */ |
74 |
74 public void writeSubClassInfo(); |
75 /** |
75 |
76 * Add the type parameter information. |
76 /** |
77 * |
77 * Write all the interfaces that extend this one. |
78 * @param classInfoTree content tree to which the documentation will be added |
78 */ |
79 */ |
79 public void writeSubInterfacesInfo(); |
80 public void addTypeParamInfo(Content classInfoTree); |
80 |
81 |
81 /** |
82 /** |
82 * If this is an interface, write all classes that implement this |
83 * Add all super interfaces if this is an interface. |
|
84 * |
|
85 * @param classInfoTree content tree to which the documentation will be added |
|
86 */ |
|
87 public void addSuperInterfacesInfo(Content classInfoTree); |
|
88 |
|
89 /** |
|
90 * Add all implemented interfaces if this is a class. |
|
91 * |
|
92 * @param classInfoTree content tree to which the documentation will be added |
|
93 */ |
|
94 public void addImplementedInterfacesInfo(Content classInfoTree); |
|
95 |
|
96 /** |
|
97 * Add all the classes that extend this one. |
|
98 * |
|
99 * @param classInfoTree content tree to which the documentation will be added |
|
100 */ |
|
101 public void addSubClassInfo(Content classInfoTree); |
|
102 |
|
103 /** |
|
104 * Add all the interfaces that extend this one. |
|
105 * |
|
106 * @param classInfoTree content tree to which the documentation will be added |
|
107 */ |
|
108 public void addSubInterfacesInfo(Content classInfoTree); |
|
109 |
|
110 /** |
|
111 * If this is an interface, add all classes that implement this |
83 * interface. |
112 * interface. |
84 */ |
113 * |
85 public void writeInterfaceUsageInfo (); |
114 * @param classInfoTree content tree to which the documentation will be added |
86 |
115 */ |
87 /** |
116 public void addInterfaceUsageInfo(Content classInfoTree); |
88 * If this is an inner class or interface, write the enclosing class or |
117 |
|
118 /** |
|
119 * If this is an inner class or interface, add the enclosing class or |
89 * interface. |
120 * interface. |
90 */ |
121 * |
91 public void writeNestedClassInfo (); |
122 * @param classInfoTree content tree to which the documentation will be added |
92 |
123 */ |
93 /** |
124 public void addNestedClassInfo (Content classInfoTree); |
94 * If this class is deprecated, write the appropriate information. |
125 |
95 */ |
126 /** |
96 public void writeClassDeprecationInfo (); |
127 * Get the class information. |
97 |
128 * |
98 /** |
129 * @param classInfoTree content tree conatining the class information |
99 * Write the signature of the current class. |
130 * @return a content tree for the class |
100 * |
131 */ |
101 * @param modifiers the modifiers for the signature. |
132 public Content getClassInfo(Content classInfoTree); |
102 */ |
133 |
103 public void writeClassSignature(String modifiers); |
134 /** |
|
135 * If this class is deprecated, add the appropriate information. |
|
136 * |
|
137 * @param classInfoTree content tree to which the documentation will be added |
|
138 */ |
|
139 public void addClassDeprecationInfo (Content classInfoTree); |
|
140 |
|
141 /** |
|
142 * Add the signature of the current class content tree. |
|
143 * |
|
144 * @param modifiers the modifiers for the signature |
|
145 * @param classInfoTree the class content tree to which the signature will be added |
|
146 */ |
|
147 public void addClassSignature(String modifiers, Content classInfoTree); |
104 |
148 |
105 /** |
149 /** |
106 * Build the class description. |
150 * Build the class description. |
107 */ |
151 * |
108 public void writeClassDescription(); |
152 * @param classInfoTree content tree to which the documentation will be added |
109 |
153 */ |
110 /** |
154 public void addClassDescription(Content classInfoTree); |
111 * Write the tag information for the current class. |
155 |
112 */ |
156 /** |
113 public void writeClassTagInfo(); |
157 * Add the tag information for the current class. |
114 |
158 * |
115 /** |
159 * @param classInfoTree content tree to which the tag information will be added |
116 * Write the footer of the page. |
160 */ |
117 */ |
161 public void addClassTagInfo(Content classInfoTree); |
118 public void writeFooter(); |
162 |
|
163 /** |
|
164 * Get the member tree header for the class. |
|
165 * |
|
166 * @return a content tree for the member tree header |
|
167 */ |
|
168 public Content getMemberTreeHeader(); |
|
169 |
|
170 /** |
|
171 * Add the footer of the page. |
|
172 * |
|
173 * @param contentTree content tree to which the footer will be added |
|
174 */ |
|
175 public void addFooter(Content contentTree); |
|
176 |
|
177 /** |
|
178 * Print the document. |
|
179 * |
|
180 * @param contentTree content tree that will be printed as a document |
|
181 */ |
|
182 public void printDocument(Content contentTree); |
119 |
183 |
120 /** |
184 /** |
121 * Close the writer. |
185 * Close the writer. |
122 */ |
186 */ |
123 public void close() throws IOException; |
187 public void close() throws IOException; |