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