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