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