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