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