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