• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 <?cs include:"doctype.cs" ?>
2 <?cs include:"macros.cs" ?>
3 <html>
4 <?cs include:"head_tag.cs" ?>
5 <body class="<?cs var:class.since ?>" itemscope itemtype="http://schema.org/Article">
6 <?cs include:"header.cs" ?>
7 
8 <div class="g-unit" id="doc-content">
9 
10 <div id="api-info-block">
11 
12 <?cs # are there inherited members ?>
13 <?cs each:cl=class.inherited ?>
14   <?cs if:subcount(cl.methods) ?>
15    <?cs set:inhmethods = #1 ?>
16   <?cs /if ?>
17   <?cs if:subcount(cl.constants) ?>
18    <?cs set:inhconstants = #1 ?>
19   <?cs /if ?>
20   <?cs if:subcount(cl.fields) ?>
21    <?cs set:inhfields = #1 ?>
22   <?cs /if ?>
23   <?cs if:subcount(cl.attrs) ?>
24    <?cs set:inhattrs = #1 ?>
25   <?cs /if ?>
26 <?cs /each ?>
27 
28 <div class="sum-details-links">
29 <?cs if:inhattrs || inhconstants || inhfields || inhmethods || (!class.subclasses.hidden &&
30      (subcount(class.subclasses.direct) || subcount(class.subclasses.indirect))) ?>
31 Summary:
32 <?cs if:subcount(class.inners) ?>
33   <a href="#nestedclasses">Nested Classes</a>
34   <?cs set:linkcount = #1 ?>
35 <?cs /if ?>
36 <?cs if:subcount(class.attrs) ?>
37   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#lattrs">XML Attrs</a>
38   <?cs set:linkcount = #1 ?>
39 <?cs /if ?>
40 <?cs if:inhattrs ?>
41   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#inhattrs">Inherited XML Attrs</a>
42   <?cs set:linkcount = #1 ?>
43 <?cs /if ?>
44 <?cs if:subcount(class.enumConstants) ?>
45   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#enumconstants">Enums</a>
46   <?cs set:linkcount = #1 ?>
47 <?cs /if ?>
48 <?cs if:subcount(class.constants) ?>
49   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#constants">Constants</a>
50   <?cs set:linkcount = #1 ?>
51 <?cs /if ?>
52 <?cs if:inhconstants ?>
53   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#inhconstants">Inherited Constants</a>
54   <?cs set:linkcount = #1 ?>
55 <?cs /if ?>
56 <?cs if:subcount(class.fields) ?>
57   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#lfields">Fields</a>
58   <?cs set:linkcount = #1 ?>
59 <?cs /if ?>
60 <?cs if:inhfields ?>
61   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#inhfields">Inherited Fields</a>
62   <?cs set:linkcount = #1 ?>
63 <?cs /if ?>
64 <?cs if:subcount(class.ctors.public) ?>
65   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#pubctors">Ctors</a>
66   <?cs set:linkcount = #1 ?>
67 <?cs /if ?>
68 <?cs if:subcount(class.ctors.protected) ?>
69   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#proctors">Protected Ctors</a>
70   <?cs set:linkcount = #1 ?>
71 <?cs /if ?>
72 <?cs if:subcount(class.methods.public) ?>
73   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#pubmethods">Methods</a>
74   <?cs set:linkcount = #1 ?>
75 <?cs /if ?>
76 <?cs if:subcount(class.methods.protected) ?>
77   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#promethods">Protected Methods</a>
78   <?cs set:linkcount = #1 ?>
79 <?cs /if ?>
80 <?cs if:inhmethods ?>
81   <?cs if:linkcount ?>&#124; <?cs /if ?><a href="#inhmethods">Inherited Methods</a>
82 <?cs /if ?>
83 &#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>
84 <?cs /if ?>
85 </div><!-- end sum-details-links -->
86 <div class="api-level">
87   <?cs call:since_tags(class) ?>
88   <?cs call:federated_refs(class) ?>
89 </div>
90 </div><!-- end api-info-block -->
91 
92 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
93 <!-- ======== START OF CLASS DATA ======== -->
94 
95 <div id="jd-header">
96     <?cs var:class.scope ?>
97     <?cs var:class.static ?>
98     <?cs var:class.final ?>
99     <?cs var:class.abstract ?>
100     <?cs var:class.kind ?>
101 <h1 itemprop="name"><?cs var:class.name ?></h1>
102 
103 <?cs set:colspan = subcount(class.inheritance) ?>
104 <?cs each:supr = class.inheritance ?>
105   <?cs if:colspan == 2 ?>
106     extends <?cs call:type_link(supr.short_class) ?><br/>
107   <?cs /if ?>
108   <?cs if:last(supr) && subcount(supr.interfaces) ?>
109       implements
110       <?cs each:t=supr.interfaces ?>
111         <?cs call:type_link(t) ?>
112       <?cs /each ?>
113   <?cs /if ?>
114   <?cs set:colspan = colspan-1 ?>
115 <?cs /each ?>
116 
117 </div><!-- end header -->
118 
119 <div id="naMessage"></div>
120 
121 <div id="jd-content" class="api apilevel-<?cs var:class.since ?>">
122 <table class="jd-inheritance-table">
123 <?cs set:colspan = subcount(class.inheritance) ?>
124 <?cs each:supr = class.inheritance ?>
125     <tr>
126         <?cs loop:i = 1, (subcount(class.inheritance)-colspan), 1 ?>
127             <td class="jd-inheritance-space">&nbsp;<?cs if:(subcount(class.inheritance)-colspan) == i ?>&nbsp;&nbsp;&#x21b3;<?cs /if ?></td>
128         <?cs /loop ?>
129         <td colspan="<?cs var:colspan ?>" class="jd-inheritance-class-cell"><?cs
130             if:colspan == 1
131                 ?><?cs call:class_name(class.qualifiedType) ?><?cs
132             else
133                 ?><?cs call:type_link(supr.class) ?><?cs
134             /if ?></td>
135     </tr>
136     <?cs set:colspan = colspan-1 ?>
137 <?cs /each ?>
138 </table>
139 
140 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
141 
142 <?cs if:subcount(class.subclasses.direct) && !class.subclasses.hidden ?>
143 <table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
144 <?cs call:expando_trigger("subclasses-direct", "closed") ?>Known Direct Subclasses
145 <?cs call:expandable_class_list("subclasses-direct", class.subclasses.direct, "list") ?>
146 </td></tr></table>
147 <?cs /if ?>
148 
149 <?cs if:subcount(class.subclasses.indirect) && !class.subclasses.hidden ?>
150 <table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="12" style="border:none;margin:0;padding:0;">
151 <?cs call:expando_trigger("subclasses-indirect", "closed") ?>Known Indirect Subclasses
152 <?cs call:expandable_class_list("subclasses-indirect", class.subclasses.indirect, "list") ?>
153 </td></tr></table>
154 <?cs /if ?>
155 
156 <div class="jd-descr">
157 <?cs call:deprecated_warning(class) ?>
158 <?cs if:subcount(class.descr) ?>
159 <h2>Class Overview</h2>
160 <p itemprop="articleBody"><?cs call:tag_list(class.descr) ?></p>
161 <?cs /if ?>
162 
163 <?cs call:see_also_tags(class.seeAlso) ?>
164 
165 </div><!-- jd-descr -->
166 
167 
168 <?cs # summary macros ?>
169 
170 <?cs def:write_method_summary(methods, included) ?>
171 <?cs set:count = #1 ?>
172 <?cs each:method = methods ?>
173 	 <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
174     <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:method.since ?>" >
175         <td class="jd-typecol"><nobr>
176             <?cs var:method.abstract ?>
177             <?cs var:method.synchronized ?>
178             <?cs var:method.final ?>
179             <?cs var:method.static ?>
180             <?cs call:type_link(method.generic) ?>
181             <?cs call:type_link(method.returnType) ?></nobr>
182         </td>
183         <td class="jd-linkcol" width="100%"><nobr>
184         <span class="sympad"><?cs call:cond_link(method.name, toroot, method.href, included) ?></span>(<?cs call:parameter_list(method.params) ?>)</nobr>
185         <?cs if:subcount(method.shortDescr) || subcount(method.deprecated) ?>
186         <div class="jd-descrdiv"><?cs call:short_descr(method) ?></div>
187   <?cs /if ?>
188   </td></tr>
189 <?cs set:count = count + #1 ?>
190 <?cs /each ?>
191 <?cs /def ?>
192 
193 <?cs def:write_field_summary(fields, included) ?>
194 <?cs set:count = #1 ?>
195     <?cs each:field=fields ?>
196       <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:field.since ?>" >
197           <td class="jd-typecol"><nobr>
198           <?cs var:field.scope ?>
199           <?cs var:field.static ?>
200           <?cs var:field.final ?>
201           <?cs call:type_link(field.type) ?></nobr></td>
202           <td class="jd-linkcol"><?cs call:cond_link(field.name, toroot, field.href, included) ?></td>
203           <td class="jd-descrcol" width="100%"><?cs call:short_descr(field) ?></td>
204       </tr>
205       <?cs set:count = count + #1 ?>
206     <?cs /each ?>
207 <?cs /def ?>
208 
209 <?cs def:write_constant_summary(fields, included) ?>
210 <?cs set:count = #1 ?>
211     <?cs each:field=fields ?>
212     <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:field.since ?>" >
213         <td class="jd-typecol"><?cs call:type_link(field.type) ?></td>
214         <td class="jd-linkcol"><?cs call:cond_link(field.name, toroot, field.href, included) ?></td>
215         <td class="jd-descrcol" width="100%"><?cs call:short_descr(field) ?></td>
216     </tr>
217     <?cs set:count = count + #1 ?>
218     <?cs /each ?>
219 <?cs /def ?>
220 
221 <?cs def:write_attr_summary(attrs, included) ?>
222 <?cs set:count = #1 ?>
223     <tr>
224         <td><nobr><em>Attribute Name</em></nobr></td>
225         <td><nobr><em>Related Method</em></nobr></td>
226         <td><nobr><em>Description</em></nobr></td>
227     </tr>
228     <?cs each:attr=attrs ?>
229     <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:attr.since ?>" >
230         <td class="jd-linkcol"><?cs if:included ?><a href="<?cs var:toroot ?><?cs var:attr.href ?>"><?cs /if ?><?cs var:attr.name ?><?cs if:included ?></a><?cs /if ?></td>
231         <td class="jd-linkcol"><?cs each:m=attr.methods ?>
232             <?cs call:cond_link(m.name, toroot, m.href, included) ?>
233             <?cs /each ?>
234         </td>
235         <td class="jd-descrcol" width="100%"><?cs call:short_descr(attr) ?>&nbsp;</td>
236     </tr>
237     <?cs set:count = count + #1 ?>
238     <?cs /each ?>
239 <?cs /def ?>
240 
241 <?cs def:write_inners_summary(classes) ?>
242 <?cs set:count = #1 ?>
243   <?cs each:cl=class.inners ?>
244     <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:cl.since ?>" >
245       <td class="jd-typecol"><nobr>
246         <?cs var:cl.scope ?>
247         <?cs var:cl.static ?>
248         <?cs var:cl.final ?>
249         <?cs var:cl.abstract ?>
250         <?cs var:cl.kind ?></nobr></td>
251       <td class="jd-linkcol"><?cs call:type_link(cl.type) ?></td>
252       <td class="jd-descrcol" width="100%"><?cs call:short_descr(cl) ?>&nbsp;</td>
253     </tr>
254     <?cs set:count = count + #1 ?>
255     <?cs /each ?>
256 <?cs /def ?>
257 
258 <?cs # end macros ?>
259 
260 <div class="jd-descr">
261 <?cs # make sure there's a summary view to display ?>
262 <?cs if:subcount(class.inners)
263      || subcount(class.attrs)
264      || inhattrs
265      || subcount(class.enumConstants)
266      || subcount(class.constants)
267      || inhconstants
268      || subcount(class.fields)
269      || inhfields
270      || subcount(class.ctors.public)
271      || subcount(class.ctors.protected)
272      || subcount(class.methods.public)
273      || subcount(class.methods.protected)
274      || inhmethods ?>
275 <h2>Summary</h2>
276 
277 <?cs if:subcount(class.inners) ?>
278 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
279 <!-- ======== NESTED CLASS SUMMARY ======== -->
280 <table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
281 <?cs call:write_inners_summary(class.inners) ?>
282 <?cs /if ?>
283 
284 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
285 <?cs if:subcount(class.attrs) ?>
286 <!-- =========== FIELD SUMMARY =========== -->
287 <table id="lattrs" class="jd-sumtable"><tr><th colspan="12">XML Attributes</th></tr>
288 <?cs call:write_attr_summary(class.attrs, 1) ?>
289 <?cs /if ?>
290 
291 <?cs # if there are inherited attrs, write the table ?>
292 <?cs if:inhattrs ?>
293 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
294 <!-- =========== FIELD SUMMARY =========== -->
295 <table id="inhattrs" class="jd-sumtable"><tr><th>
296   <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
297   <div style="clear:left;">Inherited XML Attributes</div></th></tr>
298 <?cs each:cl=class.inherited ?>
299 <?cs if:subcount(cl.attrs) ?>
300 <tr class="api apilevel-<?cs var:cl.since ?>" >
301 <td colspan="12">
302 <?cs call:expando_trigger("inherited-attrs-"+cl.qualified, "closed") ?>From <?cs var:cl.kind ?>
303 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
304 <div id="inherited-attrs-<?cs var:cl.qualified ?>">
305   <div id="inherited-attrs-<?cs var:cl.qualified ?>-list"
306         class="jd-inheritedlinks">
307   </div>
308   <div id="inherited-attrs-<?cs var:cl.qualified ?>-summary" style="display: none;">
309     <table class="jd-sumtable-expando">
310     <?cs call:write_attr_summary(cl.attrs, cl.included) ?></table>
311   </div>
312 </div>
313 </td></tr>
314 <?cs /if ?>
315 <?cs /each ?>
316 </table>
317 <?cs /if ?>
318 
319 <?cs if:subcount(class.enumConstants) ?>
320 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
321 <!-- =========== ENUM CONSTANT SUMMARY =========== -->
322 <table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
323 <?cs set:count = #1 ?>
324     <?cs each:field=class.enumConstants ?>
325     <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:field.since ?>" >
326         <td class="jd-descrcol"><?cs call:type_link(field.type) ?>&nbsp;</td>
327         <td class="jd-linkcol"><?cs call:cond_link(field.name, toroot, field.href, cl.included) ?>&nbsp;</td>
328         <td class="jd-descrcol" width="100%"><?cs call:short_descr(field) ?>&nbsp;</td>
329     </tr>
330     <?cs set:count = count + #1 ?>
331     <?cs /each ?>
332 <?cs /if ?>
333 
334 <?cs if:subcount(class.constants) ?>
335 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
336 <!-- =========== ENUM CONSTANT SUMMARY =========== -->
337 <table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
338 <?cs call:write_constant_summary(class.constants, 1) ?>
339 </table>
340 <?cs /if ?>
341 
342 <?cs # if there are inherited constants, write the table ?>
343 <?cs if:inhconstants ?>
344 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
345 <!-- =========== ENUM CONSTANT SUMMARY =========== -->
346 <table id="inhconstants" class="jd-sumtable"><tr><th>
347   <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
348   <div style="clear:left;">Inherited Constants</div></th></tr>
349 <?cs each:cl=class.inherited ?>
350 <?cs if:subcount(cl.constants) ?>
351 <tr class="api apilevel-<?cs var:cl.since ?>" >
352 <td colspan="12">
353 <?cs call:expando_trigger("inherited-constants-"+cl.qualified, "closed") ?>From <?cs var:cl.kind ?>
354 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
355 <div id="inherited-constants-<?cs var:cl.qualified ?>">
356   <div id="inherited-constants-<?cs var:cl.qualified ?>-list"
357         class="jd-inheritedlinks">
358   </div>
359   <div id="inherited-constants-<?cs var:cl.qualified ?>-summary" style="display: none;">
360     <table class="jd-sumtable-expando">
361     <?cs call:write_constant_summary(cl.constants, cl.included) ?></table>
362   </div>
363 </div>
364 </td></tr>
365 <?cs /if ?>
366 <?cs /each ?>
367 </table>
368 <?cs /if ?>
369 
370 <?cs if:subcount(class.fields) ?>
371 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
372 <!-- =========== FIELD SUMMARY =========== -->
373 <table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
374 <?cs call:write_field_summary(class.fields, 1) ?>
375 </table>
376 <?cs /if ?>
377 
378 <?cs # if there are inherited fields, write the table ?>
379 <?cs if:inhfields ?>
380 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
381 <!-- =========== FIELD SUMMARY =========== -->
382 <table id="inhfields" class="jd-sumtable"><tr><th>
383   <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
384   <div style="clear:left;">Inherited Fields</div></th></tr>
385 <?cs each:cl=class.inherited ?>
386 <?cs if:subcount(cl.fields) ?>
387 <tr class="api apilevel-<?cs var:cl.since ?>" >
388 <td colspan="12">
389 <?cs call:expando_trigger("inherited-fields-"+cl.qualified, "closed") ?>From <?cs var:cl.kind ?>
390 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
391 <div id="inherited-fields-<?cs var:cl.qualified ?>">
392   <div id="inherited-fields-<?cs var:cl.qualified ?>-list"
393         class="jd-inheritedlinks">
394   </div>
395   <div id="inherited-fields-<?cs var:cl.qualified ?>-summary" style="display: none;">
396     <table class="jd-sumtable-expando">
397     <?cs call:write_field_summary(cl.fields, cl.included) ?></table>
398   </div>
399 </div>
400 </td></tr>
401 <?cs /if ?>
402 <?cs /each ?>
403 </table>
404 <?cs /if ?>
405 
406 <?cs if:subcount(class.ctors.public) ?>
407 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
408 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
409 <table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
410 <?cs call:write_method_summary(class.ctors.public, 1) ?>
411 </table>
412 <?cs /if ?>
413 
414 <?cs if:subcount(class.ctors.protected) ?>
415 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
416 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
417 <table id="proctors" class="jd-sumtable"><tr><th colspan="12">Protected Constructors</th></tr>
418 <?cs call:write_method_summary(class.ctors.protected, 1) ?>
419 </table>
420 <?cs /if ?>
421 
422 <?cs if:subcount(class.methods.public) ?>
423 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
424 <!-- ========== METHOD SUMMARY =========== -->
425 <table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
426 <?cs call:write_method_summary(class.methods.public, 1) ?>
427 </table>
428 <?cs /if ?>
429 
430 <?cs if:subcount(class.methods.protected) ?>
431 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
432 <!-- ========== METHOD SUMMARY =========== -->
433 <table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
434 <?cs call:write_method_summary(class.methods.protected, 1) ?>
435 </table>
436 <?cs /if ?>
437 
438 <?cs # if there are inherited methods, write the table ?>
439 <?cs if:inhmethods ?>
440 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
441 <!-- ========== METHOD SUMMARY =========== -->
442 <table id="inhmethods" class="jd-sumtable"><tr><th>
443   <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
444   <div style="clear:left;">Inherited Methods</div></th></tr>
445 <?cs each:cl=class.inherited ?>
446 <?cs if:subcount(cl.methods) ?>
447 <tr class="api apilevel-<?cs var:cl.since ?>" >
448 <td colspan="12"><?cs call:expando_trigger("inherited-methods-"+cl.qualified, "closed") ?>
449 From <?cs var:cl.kind ?>
450 <?cs if:cl.included ?>
451   <a href="<?cs var:toroot ?><?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
452 <?cs elif:cl.federated ?>
453   <a href="<?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
454 <?cs else ?>
455   <?cs var:cl.qualified ?>
456 <?cs /if ?>
457 <div id="inherited-methods-<?cs var:cl.qualified ?>">
458   <div id="inherited-methods-<?cs var:cl.qualified ?>-list"
459         class="jd-inheritedlinks">
460   </div>
461   <div id="inherited-methods-<?cs var:cl.qualified ?>-summary" style="display: none;">
462     <table class="jd-sumtable-expando">
463     <?cs call:write_method_summary(cl.methods, cl.included) ?></table>
464   </div>
465 </div>
466 </td></tr>
467 <?cs /if ?>
468 <?cs /each ?>
469 </table>
470 <?cs /if ?>
471 <?cs /if ?>
472 </div><!-- jd-descr (summary) -->
473 
474 <!-- Details -->
475 
476 <?cs def:write_field_details(fields) ?>
477 <?cs each:field=fields ?>
478 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
479 <?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
480 <A NAME="<?cs var:field.anchor ?>"></A>
481 <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
482 <div class="jd-details api apilevel-<?cs var:field.since ?>">
483     <h4 class="jd-details-title">
484       <span class="normal">
485         <?cs var:field.scope ?>
486         <?cs var:field.static ?>
487         <?cs var:field.final ?>
488         <?cs call:type_link(field.type) ?>
489       </span>
490         <?cs var:field.name ?>
491     </h4>
492       <div class="api-level">
493         <?cs call:since_tags(field) ?>
494         <?cs call:federated_refs(field) ?>
495       </div>
496     <div class="jd-details-descr">
497       <?cs call:description(field) ?>
498     <?cs if:subcount(field.constantValue) ?>
499         <div class="jd-tagdata">
500         <span class="jd-tagtitle">Constant Value: </span>
501         <span>
502             <?cs if:field.constantValue.isString ?>
503                 <?cs var:field.constantValue.str ?>
504             <?cs else ?>
505                 <?cs var:field.constantValue.dec ?>
506                 (<?cs var:field.constantValue.hex ?>)
507             <?cs /if ?>
508         </span>
509         </div>
510     <?cs /if ?>
511     </div>
512 </div>
513 <?cs /each ?>
514 <?cs /def ?>
515 
516 <?cs def:write_method_details(methods) ?>
517 <?cs each:method=methods ?>
518 <?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
519 <A NAME="<?cs var:method.anchor ?>"></A>
520 <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
521 <div class="jd-details api apilevel-<?cs var:method.since ?>">
522     <h4 class="jd-details-title">
523       <span class="normal">
524         <?cs var:method.scope ?>
525         <?cs var:method.static ?>
526         <?cs var:method.final ?>
527         <?cs var:method.abstract ?>
528         <?cs var:method.synchronized ?>
529         <?cs call:type_link(method.returnType) ?>
530       </span>
531       <span class="sympad"><?cs var:method.name ?></span>
532       <span class="normal">(<?cs call:parameter_list(method.params) ?>)</span>
533     </h4>
534       <div class="api-level">
535         <div><?cs call:since_tags(method) ?></div>
536         <?cs call:federated_refs(method) ?>
537       </div>
538     <div class="jd-details-descr">
539       <?cs call:description(method) ?>
540     </div>
541 </div>
542 <?cs /each ?>
543 <?cs /def ?>
544 
545 <?cs def:write_attr_details(attrs) ?>
546 <?cs each:attr=attrs ?>
547 <?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
548 <A NAME="<?cs var:attr.anchor ?>"></A>
549 <div class="jd-details">
550     <h4 class="jd-details-title"><?cs var:attr.name ?>
551     </h4>
552     <div class="jd-details-descr">
553         <?cs call:description(attr) ?>
554 
555         <div class="jd-tagdata">
556             <h5 class="jd-tagtitle">Related Methods</h5>
557             <ul class="nolist">
558             <?cs each:m=attr.methods ?>
559                 <li><a href="<?cs var:toroot ?><?cs var:m.href ?>"><?cs var:m.name ?></a></li>
560             <?cs /each ?>
561             </ul>
562         </div>
563     </div>
564 </div>
565 <?cs /each ?>
566 <?cs /def ?>
567 
568 
569 <!-- XML Attributes -->
570 <?cs if:subcount(class.attrs) ?>
571 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
572 <!-- ========= FIELD DETAIL ======== -->
573 <h2>XML Attributes</h2>
574 <?cs call:write_attr_details(class.attrs) ?>
575 <?cs /if ?>
576 
577 <!-- Enum Values -->
578 <?cs if:subcount(class.enumConstants) ?>
579 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
580 <!-- ========= ENUM CONSTANTS DETAIL ======== -->
581 <h2>Enum Values</h2>
582 <?cs call:write_field_details(class.enumConstants) ?>
583 <?cs /if ?>
584 
585 <!-- Constants -->
586 <?cs if:subcount(class.constants) ?>
587 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
588 <!-- ========= ENUM CONSTANTS DETAIL ======== -->
589 <h2>Constants</h2>
590 <?cs call:write_field_details(class.constants) ?>
591 <?cs /if ?>
592 
593 <!-- Fields -->
594 <?cs if:subcount(class.fields) ?>
595 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
596 <!-- ========= FIELD DETAIL ======== -->
597 <h2>Fields</h2>
598 <?cs call:write_field_details(class.fields) ?>
599 <?cs /if ?>
600 
601 <!-- Public ctors -->
602 <?cs if:subcount(class.ctors.public) ?>
603 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
604 <!-- ========= CONSTRUCTOR DETAIL ======== -->
605 <h2>Public Constructors</h2>
606 <?cs call:write_method_details(class.ctors.public) ?>
607 <?cs /if ?>
608 
609 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
610 <!-- ========= CONSTRUCTOR DETAIL ======== -->
611 <!-- Protected ctors -->
612 <?cs if:subcount(class.ctors.protected) ?>
613 <h2>Protected Constructors</h2>
614 <?cs call:write_method_details(class.ctors.protected) ?>
615 <?cs /if ?>
616 
617 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
618 <!-- ========= METHOD DETAIL ======== -->
619 <!-- Public methdos -->
620 <?cs if:subcount(class.methods.public) ?>
621 <h2>Public Methods</h2>
622 <?cs call:write_method_details(class.methods.public) ?>
623 <?cs /if ?>
624 
625 <?cs # this next line must be exactly like this to be parsed by eclipse ?>
626 <!-- ========= METHOD DETAIL ======== -->
627 <?cs if:subcount(class.methods.protected) ?>
628 <h2>Protected Methods</h2>
629 <?cs call:write_method_details(class.methods.protected) ?>
630 <?cs /if ?>
631 
632 <?cs # the next two lines must be exactly like this to be parsed by eclipse ?>
633 <!-- ========= END OF CLASS DATA ========= -->
634 <A NAME="navbar_top"></A>
635 
636 <?cs include:"footer.cs" ?>
637 </div> <!-- jd-content -->
638 
639 </div><!-- end doc-content -->
640 
641 <?cs include:"trailer.cs" ?>
642 
643 </body>
644 </html>
645