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))) ?>
31Summary:
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) || subcount(class.annotationdocumentation) ?>
159<h2>Class Overview</h2>
160<?cs if:subcount(class.descr) ?><p itemprop="articleBody"><?cs call:tag_list(class.descr) ?></p><?cs /if ?>
161<?cs if:subcount(class.annotationdocumentation) ?><?cs each:annodoc = class.annotationdocumentation ?>
162<p><?cs var:annodoc.text ?></p>
163<?cs /each ?><?cs /if ?>
164<?cs /if ?>
165
166<?cs call:see_also_tags(class.seeAlso) ?>
167
168</div><!-- jd-descr -->
169
170
171<?cs # summary macros ?>
172
173<?cs def:write_method_summary(methods, included) ?>
174<?cs set:count = #1 ?>
175<?cs each:method = methods ?>
176	 <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
177    <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:method.since ?>" >
178        <td class="jd-typecol"><nobr>
179            <?cs var:method.abstract ?>
180            <?cs var:method.default ?>
181            <?cs var:method.static ?>
182            <?cs var:method.final ?>
183            <?cs call:type_link(method.generic) ?>
184            <?cs call:type_link(method.returnType) ?></nobr>
185        </td>
186        <td class="jd-linkcol" width="100%"><nobr>
187        <span class="sympad"><?cs call:cond_link(method.name, toroot, method.href, included) ?></span>(<?cs call:parameter_list(method.params) ?>)</nobr>
188        <?cs if:subcount(method.shortDescr) || subcount(method.deprecated) ?>
189        <div class="jd-descrdiv"><?cs call:short_descr(method) ?></div>
190  <?cs /if ?>
191  </td></tr>
192<?cs set:count = count + #1 ?>
193<?cs /each ?>
194<?cs /def ?>
195
196<?cs def:write_field_summary(fields, included) ?>
197<?cs set:count = #1 ?>
198    <?cs each:field=fields ?>
199      <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:field.since ?>" >
200          <td class="jd-typecol"><nobr>
201          <?cs var:field.scope ?>
202          <?cs var:field.static ?>
203          <?cs var:field.final ?>
204          <?cs call:type_link(field.type) ?></nobr></td>
205          <td class="jd-linkcol"><?cs call:cond_link(field.name, toroot, field.href, included) ?></td>
206          <td class="jd-descrcol" width="100%"><?cs call:short_descr(field) ?></td>
207      </tr>
208      <?cs set:count = count + #1 ?>
209    <?cs /each ?>
210<?cs /def ?>
211
212<?cs def:write_constant_summary(fields, included) ?>
213<?cs set:count = #1 ?>
214    <?cs each:field=fields ?>
215    <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:field.since ?>" >
216        <td class="jd-typecol"><?cs call:type_link(field.type) ?></td>
217        <td class="jd-linkcol"><?cs call:cond_link(field.name, toroot, field.href, included) ?></td>
218        <td class="jd-descrcol" width="100%"><?cs call:short_descr(field) ?></td>
219    </tr>
220    <?cs set:count = count + #1 ?>
221    <?cs /each ?>
222<?cs /def ?>
223
224<?cs def:write_attr_summary(attrs, included) ?>
225<?cs set:count = #1 ?>
226    <tr>
227        <td><nobr><em>Attribute Name</em></nobr></td>
228        <td><nobr><em>Related Method</em></nobr></td>
229        <td><nobr><em>Description</em></nobr></td>
230    </tr>
231    <?cs each:attr=attrs ?>
232    <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:attr.since ?>" >
233        <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>
234        <td class="jd-linkcol"><?cs each:m=attr.methods ?>
235            <?cs call:cond_link(m.name, toroot, m.href, included) ?>
236            <?cs /each ?>
237        </td>
238        <td class="jd-descrcol" width="100%"><?cs call:short_descr(attr) ?>&nbsp;</td>
239    </tr>
240    <?cs set:count = count + #1 ?>
241    <?cs /each ?>
242<?cs /def ?>
243
244<?cs def:write_inners_summary(classes) ?>
245<?cs set:count = #1 ?>
246  <?cs each:cl=class.inners ?>
247    <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:cl.since ?>" >
248      <td class="jd-typecol"><nobr>
249        <?cs var:cl.scope ?>
250        <?cs var:cl.static ?>
251        <?cs var:cl.final ?>
252        <?cs var:cl.abstract ?>
253        <?cs var:cl.kind ?></nobr></td>
254      <td class="jd-linkcol"><?cs call:type_link(cl.type) ?></td>
255      <td class="jd-descrcol" width="100%"><?cs call:short_descr(cl) ?>&nbsp;</td>
256    </tr>
257    <?cs set:count = count + #1 ?>
258    <?cs /each ?>
259<?cs /def ?>
260
261<?cs # end macros ?>
262
263<div class="jd-descr">
264<?cs # make sure there's a summary view to display ?>
265<?cs if:subcount(class.inners)
266     || subcount(class.attrs)
267     || inhattrs
268     || subcount(class.enumConstants)
269     || subcount(class.constants)
270     || inhconstants
271     || subcount(class.fields)
272     || inhfields
273     || subcount(class.ctors.public)
274     || subcount(class.ctors.protected)
275     || subcount(class.methods.public)
276     || subcount(class.methods.protected)
277     || inhmethods ?>
278<h2>Summary</h2>
279
280<?cs if:subcount(class.inners) ?>
281<?cs # this next line must be exactly like this to be parsed by eclipse ?>
282<!-- ======== NESTED CLASS SUMMARY ======== -->
283<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>
284<?cs call:write_inners_summary(class.inners) ?>
285<?cs /if ?>
286
287<?cs # this next line must be exactly like this to be parsed by eclipse ?>
288<?cs if:subcount(class.attrs) ?>
289<!-- =========== FIELD SUMMARY =========== -->
290<table id="lattrs" class="jd-sumtable"><tr><th colspan="12">XML Attributes</th></tr>
291<?cs call:write_attr_summary(class.attrs, 1) ?>
292<?cs /if ?>
293
294<?cs # if there are inherited attrs, write the table ?>
295<?cs if:inhattrs ?>
296<?cs # this next line must be exactly like this to be parsed by eclipse ?>
297<!-- =========== FIELD SUMMARY =========== -->
298<table id="inhattrs" class="jd-sumtable"><tr><th>
299  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
300  <div style="clear:left;">Inherited XML Attributes</div></th></tr>
301<?cs each:cl=class.inherited ?>
302<?cs if:subcount(cl.attrs) ?>
303<tr class="api apilevel-<?cs var:cl.since ?>" >
304<td colspan="12">
305<?cs call:expando_trigger("inherited-attrs-"+cl.qualified, "closed") ?>From <?cs var:cl.kind ?>
306<?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
307<div id="inherited-attrs-<?cs var:cl.qualified ?>">
308  <div id="inherited-attrs-<?cs var:cl.qualified ?>-list"
309        class="jd-inheritedlinks">
310  </div>
311  <div id="inherited-attrs-<?cs var:cl.qualified ?>-summary" style="display: none;">
312    <table class="jd-sumtable-expando">
313    <?cs call:write_attr_summary(cl.attrs, cl.included) ?></table>
314  </div>
315</div>
316</td></tr>
317<?cs /if ?>
318<?cs /each ?>
319</table>
320<?cs /if ?>
321
322<?cs if:subcount(class.enumConstants) ?>
323<?cs # this next line must be exactly like this to be parsed by eclipse ?>
324<!-- =========== ENUM CONSTANT SUMMARY =========== -->
325<table id="enumconstants" class="jd-sumtable"><tr><th colspan="12">Enum Values</th></tr>
326<?cs set:count = #1 ?>
327    <?cs each:field=class.enumConstants ?>
328    <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:field.since ?>" >
329        <td class="jd-descrcol"><?cs call:type_link(field.type) ?>&nbsp;</td>
330        <td class="jd-linkcol"><?cs call:cond_link(field.name, toroot, field.href, cl.included) ?>&nbsp;</td>
331        <td class="jd-descrcol" width="100%"><?cs call:short_descr(field) ?>&nbsp;</td>
332    </tr>
333    <?cs set:count = count + #1 ?>
334    <?cs /each ?>
335<?cs /if ?>
336
337<?cs if:subcount(class.constants) ?>
338<?cs # this next line must be exactly like this to be parsed by eclipse ?>
339<!-- =========== ENUM CONSTANT SUMMARY =========== -->
340<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>
341<?cs call:write_constant_summary(class.constants, 1) ?>
342</table>
343<?cs /if ?>
344
345<?cs # if there are inherited constants, write the table ?>
346<?cs if:inhconstants ?>
347<?cs # this next line must be exactly like this to be parsed by eclipse ?>
348<!-- =========== ENUM CONSTANT SUMMARY =========== -->
349<table id="inhconstants" class="jd-sumtable"><tr><th>
350  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
351  <div style="clear:left;">Inherited Constants</div></th></tr>
352<?cs each:cl=class.inherited ?>
353<?cs if:subcount(cl.constants) ?>
354<tr class="api apilevel-<?cs var:cl.since ?>" >
355<td colspan="12">
356<?cs call:expando_trigger("inherited-constants-"+cl.qualified, "closed") ?>From <?cs var:cl.kind ?>
357<?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
358<div id="inherited-constants-<?cs var:cl.qualified ?>">
359  <div id="inherited-constants-<?cs var:cl.qualified ?>-list"
360        class="jd-inheritedlinks">
361  </div>
362  <div id="inherited-constants-<?cs var:cl.qualified ?>-summary" style="display: none;">
363    <table class="jd-sumtable-expando">
364    <?cs call:write_constant_summary(cl.constants, cl.included) ?></table>
365  </div>
366</div>
367</td></tr>
368<?cs /if ?>
369<?cs /each ?>
370</table>
371<?cs /if ?>
372
373<?cs if:subcount(class.fields) ?>
374<?cs # this next line must be exactly like this to be parsed by eclipse ?>
375<!-- =========== FIELD SUMMARY =========== -->
376<table id="lfields" class="jd-sumtable"><tr><th colspan="12">Fields</th></tr>
377<?cs call:write_field_summary(class.fields, 1) ?>
378</table>
379<?cs /if ?>
380
381<?cs # if there are inherited fields, write the table ?>
382<?cs if:inhfields ?>
383<?cs # this next line must be exactly like this to be parsed by eclipse ?>
384<!-- =========== FIELD SUMMARY =========== -->
385<table id="inhfields" class="jd-sumtable"><tr><th>
386  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
387  <div style="clear:left;">Inherited Fields</div></th></tr>
388<?cs each:cl=class.inherited ?>
389<?cs if:subcount(cl.fields) ?>
390<tr class="api apilevel-<?cs var:cl.since ?>" >
391<td colspan="12">
392<?cs call:expando_trigger("inherited-fields-"+cl.qualified, "closed") ?>From <?cs var:cl.kind ?>
393<?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
394<div id="inherited-fields-<?cs var:cl.qualified ?>">
395  <div id="inherited-fields-<?cs var:cl.qualified ?>-list"
396        class="jd-inheritedlinks">
397  </div>
398  <div id="inherited-fields-<?cs var:cl.qualified ?>-summary" style="display: none;">
399    <table class="jd-sumtable-expando">
400    <?cs call:write_field_summary(cl.fields, cl.included) ?></table>
401  </div>
402</div>
403</td></tr>
404<?cs /if ?>
405<?cs /each ?>
406</table>
407<?cs /if ?>
408
409<?cs if:subcount(class.ctors.public) ?>
410<?cs # this next line must be exactly like this to be parsed by eclipse ?>
411<!-- ======== CONSTRUCTOR SUMMARY ======== -->
412<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>
413<?cs call:write_method_summary(class.ctors.public, 1) ?>
414</table>
415<?cs /if ?>
416
417<?cs if:subcount(class.ctors.protected) ?>
418<?cs # this next line must be exactly like this to be parsed by eclipse ?>
419<!-- ======== CONSTRUCTOR SUMMARY ======== -->
420<table id="proctors" class="jd-sumtable"><tr><th colspan="12">Protected Constructors</th></tr>
421<?cs call:write_method_summary(class.ctors.protected, 1) ?>
422</table>
423<?cs /if ?>
424
425<?cs if:subcount(class.methods.public) ?>
426<?cs # this next line must be exactly like this to be parsed by eclipse ?>
427<!-- ========== METHOD SUMMARY =========== -->
428<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>
429<?cs call:write_method_summary(class.methods.public, 1) ?>
430</table>
431<?cs /if ?>
432
433<?cs if:subcount(class.methods.protected) ?>
434<?cs # this next line must be exactly like this to be parsed by eclipse ?>
435<!-- ========== METHOD SUMMARY =========== -->
436<table id="promethods" class="jd-sumtable"><tr><th colspan="12">Protected Methods</th></tr>
437<?cs call:write_method_summary(class.methods.protected, 1) ?>
438</table>
439<?cs /if ?>
440
441<?cs # if there are inherited methods, write the table ?>
442<?cs if:inhmethods ?>
443<?cs # this next line must be exactly like this to be parsed by eclipse ?>
444<!-- ========== METHOD SUMMARY =========== -->
445<table id="inhmethods" class="jd-sumtable"><tr><th>
446  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
447  <div style="clear:left;">Inherited Methods</div></th></tr>
448<?cs each:cl=class.inherited ?>
449<?cs if:subcount(cl.methods) ?>
450<tr class="api apilevel-<?cs var:cl.since ?>" >
451<td colspan="12"><?cs call:expando_trigger("inherited-methods-"+cl.qualified, "closed") ?>
452From <?cs var:cl.kind ?>
453<?cs if:cl.included ?>
454  <a href="<?cs var:toroot ?><?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
455<?cs elif:cl.federated ?>
456  <a href="<?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
457<?cs else ?>
458  <?cs var:cl.qualified ?>
459<?cs /if ?>
460<div id="inherited-methods-<?cs var:cl.qualified ?>">
461  <div id="inherited-methods-<?cs var:cl.qualified ?>-list"
462        class="jd-inheritedlinks">
463  </div>
464  <div id="inherited-methods-<?cs var:cl.qualified ?>-summary" style="display: none;">
465    <table class="jd-sumtable-expando">
466    <?cs call:write_method_summary(cl.methods, cl.included) ?></table>
467  </div>
468</div>
469</td></tr>
470<?cs /if ?>
471<?cs /each ?>
472</table>
473<?cs /if ?>
474<?cs /if ?>
475</div><!-- jd-descr (summary) -->
476
477<!-- Details -->
478
479<?cs def:write_field_details(fields) ?>
480<?cs each:field=fields ?>
481<?cs # this next line must be exactly like this to be parsed by eclipse ?>
482<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
483<A NAME="<?cs var:field.anchor ?>"></A>
484<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
485<div class="jd-details api apilevel-<?cs var:field.since ?>">
486    <h4 class="jd-details-title">
487      <span class="normal">
488        <?cs var:field.scope ?>
489        <?cs var:field.static ?>
490        <?cs var:field.final ?>
491        <?cs call:type_link(field.type) ?>
492      </span>
493        <?cs var:field.name ?>
494    </h4>
495      <div class="api-level">
496        <?cs call:since_tags(field) ?>
497        <?cs call:federated_refs(field) ?>
498      </div>
499    <div class="jd-details-descr">
500      <?cs call:description(field) ?>
501    <?cs if:subcount(field.constantValue) ?>
502        <div class="jd-tagdata">
503        <span class="jd-tagtitle">Constant Value: </span>
504        <span>
505            <?cs if:field.constantValue.isString ?>
506                <?cs var:field.constantValue.str ?>
507            <?cs else ?>
508                <?cs var:field.constantValue.dec ?>
509                (<?cs var:field.constantValue.hex ?>)
510            <?cs /if ?>
511        </span>
512        </div>
513    <?cs /if ?>
514    </div>
515</div>
516<?cs /each ?>
517<?cs /def ?>
518
519<?cs def:write_method_details(methods) ?>
520<?cs each:method=methods ?>
521<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
522<A NAME="<?cs var:method.anchor ?>"></A>
523<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
524<div class="jd-details api apilevel-<?cs var:method.since ?>">
525    <h4 class="jd-details-title">
526      <span class="normal">
527        <?cs var:method.scope ?>
528        <?cs var:method.abstract ?>
529        <?cs var:method.default ?>
530        <?cs var:method.static ?>
531        <?cs var:method.final ?>
532        <?cs call:type_link(method.returnType) ?>
533      </span>
534      <span class="sympad"><?cs var:method.name ?></span>
535      <span class="normal">(<?cs call:parameter_list(method.params) ?>)</span>
536    </h4>
537      <div class="api-level">
538        <div><?cs call:since_tags(method) ?></div>
539        <?cs call:federated_refs(method) ?>
540      </div>
541    <div class="jd-details-descr">
542      <?cs call:description(method) ?>
543    </div>
544</div>
545<?cs /each ?>
546<?cs /def ?>
547
548<?cs def:write_attr_details(attrs) ?>
549<?cs each:attr=attrs ?>
550<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
551<A NAME="<?cs var:attr.anchor ?>"></A>
552<div class="jd-details">
553    <h4 class="jd-details-title"><?cs var:attr.name ?>
554    </h4>
555    <div class="jd-details-descr">
556        <?cs call:description(attr) ?>
557
558        <div class="jd-tagdata">
559            <h5 class="jd-tagtitle">Related Methods</h5>
560            <ul class="nolist">
561            <?cs each:m=attr.methods ?>
562                <li><a href="<?cs var:toroot ?><?cs var:m.href ?>"><?cs var:m.name ?></a></li>
563            <?cs /each ?>
564            </ul>
565        </div>
566    </div>
567</div>
568<?cs /each ?>
569<?cs /def ?>
570
571
572<!-- XML Attributes -->
573<?cs if:subcount(class.attrs) ?>
574<?cs # this next line must be exactly like this to be parsed by eclipse ?>
575<!-- ========= FIELD DETAIL ======== -->
576<h2>XML Attributes</h2>
577<?cs call:write_attr_details(class.attrs) ?>
578<?cs /if ?>
579
580<!-- Enum Values -->
581<?cs if:subcount(class.enumConstants) ?>
582<?cs # this next line must be exactly like this to be parsed by eclipse ?>
583<!-- ========= ENUM CONSTANTS DETAIL ======== -->
584<h2>Enum Values</h2>
585<?cs call:write_field_details(class.enumConstants) ?>
586<?cs /if ?>
587
588<!-- Constants -->
589<?cs if:subcount(class.constants) ?>
590<?cs # this next line must be exactly like this to be parsed by eclipse ?>
591<!-- ========= ENUM CONSTANTS DETAIL ======== -->
592<h2>Constants</h2>
593<?cs call:write_field_details(class.constants) ?>
594<?cs /if ?>
595
596<!-- Fields -->
597<?cs if:subcount(class.fields) ?>
598<?cs # this next line must be exactly like this to be parsed by eclipse ?>
599<!-- ========= FIELD DETAIL ======== -->
600<h2>Fields</h2>
601<?cs call:write_field_details(class.fields) ?>
602<?cs /if ?>
603
604<!-- Public ctors -->
605<?cs if:subcount(class.ctors.public) ?>
606<?cs # this next line must be exactly like this to be parsed by eclipse ?>
607<!-- ========= CONSTRUCTOR DETAIL ======== -->
608<h2>Public Constructors</h2>
609<?cs call:write_method_details(class.ctors.public) ?>
610<?cs /if ?>
611
612<?cs # this next line must be exactly like this to be parsed by eclipse ?>
613<!-- ========= CONSTRUCTOR DETAIL ======== -->
614<!-- Protected ctors -->
615<?cs if:subcount(class.ctors.protected) ?>
616<h2>Protected Constructors</h2>
617<?cs call:write_method_details(class.ctors.protected) ?>
618<?cs /if ?>
619
620<?cs # this next line must be exactly like this to be parsed by eclipse ?>
621<!-- ========= METHOD DETAIL ======== -->
622<!-- Public methdos -->
623<?cs if:subcount(class.methods.public) ?>
624<h2>Public Methods</h2>
625<?cs call:write_method_details(class.methods.public) ?>
626<?cs /if ?>
627
628<?cs # this next line must be exactly like this to be parsed by eclipse ?>
629<!-- ========= METHOD DETAIL ======== -->
630<?cs if:subcount(class.methods.protected) ?>
631<h2>Protected Methods</h2>
632<?cs call:write_method_details(class.methods.protected) ?>
633<?cs /if ?>
634
635<?cs # the next two lines must be exactly like this to be parsed by eclipse ?>
636<!-- ========= END OF CLASS DATA ========= -->
637<A NAME="navbar_top"></A>
638
639<?cs include:"footer.cs" ?>
640</div> <!-- jd-content -->
641
642</div><!-- end doc-content -->
643
644<?cs include:"trailer.cs" ?>
645
646</body>
647</html>
648