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