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) || 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.synchronized ?>
194             <?cs var:method.final ?>
195             <?cs var:method.static ?>
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") ?>
483 From <?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.static ?>
561         <?cs var:method.final ?>
562         <?cs var:method.abstract ?>
563         <?cs var:method.synchronized ?>
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