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