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