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