blob: faae8a7c959af7846b60e93ecec67fd7c35745bc [file] [log] [blame]
smain@google.coma0a6d322016-02-05 17:34:22 -08001<?cs # THIS CREATES A CLASS OR INTERFACE PAGE FROM .java FILES ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -08002<?cs include:"macros.cs" ?>
Dirk Doughertyff233cc2015-05-04 14:37:05 -07003<?cs include:"macros_override.cs" ?>
smain@google.coma0a6d322016-02-05 17:34:22 -08004<?cs
5####################
6# MACRO FUNCTION USED ONLY IN THIS TEMPLATE TO GENERATE API REFERENCE
7# FIRST, THE FUNCTIONS FOR THE SUMMARY AT THE TOP OF THE PAGE
8####################
9?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080010
smain@google.coma0a6d322016-02-05 17:34:22 -080011<?cs
12# Prints the table cells for the summary of methods.
13?><?cs def:write_method_summary(methods, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080014<?cs set:count = #1 ?>
15<?cs each:method = methods ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080016 <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
17 <tr class="api apilevel-<?cs var:method.since ?>" >
18 <?cs # leave out this cell if there is no return type = if constructors ?>
19 <?cs if:subcount(method.returnType) ?>
20 <td><code>
21 <?cs var:method.abstract ?>
Trevor Johnsf719c292016-04-11 14:36:41 -070022 <?cs var:method.default ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080023 <?cs var:method.static ?>
Trevor Johnsf719c292016-04-11 14:36:41 -070024 <?cs var:method.final ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080025 <?cs call:type_link(method.generic) ?>
26 <?cs call:type_link(method.returnType) ?></code>
27 </td>
Dirk Dougherty0dc81b92015-12-08 14:49:52 -080028 <?cs /if ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080029 <td width="100%">
30 <code>
31 <?cs call:cond_link(method.name, toroot, method.href, included) ?>(<?cs call:parameter_list(method.params, 0) ?>)
32 </code>
33 <?cs if:subcount(method.shortDescr) || subcount(method.deprecated) ?>
34 <p><?cs call:short_descr(method) ?>
35 <?cs call:show_annotations_list(method) ?></p>
36 <?cs /if ?>
37 </td>
38 </tr>
39 <?cs set:count = count + #1 ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080040<?cs /each ?>
41<?cs /def ?>
42
smain@google.coma0a6d322016-02-05 17:34:22 -080043<?cs
44# Print the table cells for the summary of fields.
45?><?cs def:write_field_summary(fields, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080046<?cs set:count = #1 ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080047<?cs each:field=fields ?>
48 <tr class="api apilevel-<?cs var:field.since ?>" >
49 <td><code>
50 <?cs var:field.scope ?>
51 <?cs var:field.static ?>
52 <?cs var:field.final ?>
53 <?cs call:type_link(field.type) ?></code></td>
54 <td width="100%">
55 <code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code>
56 <p><?cs call:short_descr(field) ?>
57 <?cs call:show_annotations_list(field) ?></p>
58 </td>
59 </tr>
60 <?cs set:count = count + #1 ?>
61<?cs /each ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080062<?cs /def ?>
63
smain@google.coma0a6d322016-02-05 17:34:22 -080064<?cs
65# Print the table cells for the summary of constants
66?><?cs def:write_constant_summary(fields, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080067<?cs set:count = #1 ?>
68 <?cs each:field=fields ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080069 <tr class="api apilevel-<?cs var:field.since ?>" >
70 <td><code><?cs call:type_link(field.type) ?></code></td>
71 <td width="100%">
72 <code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code>
73 <p><?cs call:short_descr(field) ?>
74 <?cs call:show_annotations_list(field) ?></p>
Dirk Doughertyff233cc2015-05-04 14:37:05 -070075 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -080076 </tr>
77 <?cs set:count = count + #1 ?>
78 <?cs /each ?>
79<?cs /def ?>
80
smain@google.coma0a6d322016-02-05 17:34:22 -080081<?cs
82# Print the table cells for the summary of attributes
83?><?cs def:write_attr_summary(attrs, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080084<?cs set:count = #1 ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080085 <?cs each:attr=attrs ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080086 <tr class="api apilevel-<?cs var:attr.since ?>" >
87 <td><?cs if:included ?><a href="<?cs var:toroot ?><?cs var:attr.href ?>"><?cs /if
88 ?><code><?cs var:attr.name ?></code><?cs if:included ?></a><?cs /if ?></td>
89 <td width="100%">
Dirk Doughertyff233cc2015-05-04 14:37:05 -070090 <?cs call:short_descr(attr) ?>&nbsp;
91 <?cs call:show_annotations_list(attr) ?>
92 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -080093 </tr>
94 <?cs set:count = count + #1 ?>
95 <?cs /each ?>
96<?cs /def ?>
97
smain@google.coma0a6d322016-02-05 17:34:22 -080098<?cs
99# Print the table cells for the inner classes
100?><?cs def:write_inners_summary(classes) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800101<?cs set:count = #1 ?>
102 <?cs each:cl=class.inners ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800103 <tr class="api apilevel-<?cs var:cl.since ?>" >
104 <td class="jd-typecol"><code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800105 <?cs var:cl.scope ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800106 <?cs var:cl.static ?>
107 <?cs var:cl.final ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800108 <?cs var:cl.abstract ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800109 <?cs var:cl.kind ?></code></td>
Dirk Doughertyff233cc2015-05-04 14:37:05 -0700110 <td class="jd-descrcol" width="100%">
smain@google.coma0a6d322016-02-05 17:34:22 -0800111 <code><?cs call:type_link(cl.type) ?></code>
112 <p><?cs call:short_descr(cl) ?>&nbsp;
113 <?cs call:show_annotations_list(cl) ?></p>
Dirk Doughertyff233cc2015-05-04 14:37:05 -0700114 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800115 </tr>
116 <?cs set:count = count + #1 ?>
117 <?cs /each ?>
118<?cs /def ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800119<?cs
120###################
121# END OF FUNCTIONS FOR API SUMMARY
122# START OF FUNCTIONS FOR THE API DETAILS
123###################
124?>
125<?cs
126# Print the table cells for the summary of constants
127?>
128<?cs def:write_field_details(fields) ?>
129<?cs each:field=fields ?>
130<?cs # this next line must be exactly like this to be parsed by eclipse ?>
131<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
132<A NAME="<?cs var:field.anchor ?>"></A>
133<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
134<div class="api apilevel-<?cs var:field.since ?>">
135 <h3 class="api-name"><?cs var:field.name ?></h3>
136 <div class="api-level">
137 <?cs call:since_tags(field) ?>
138 <?cs call:federated_refs(field) ?>
139 </div>
140<pre class="api-signature no-pretty-print">
141<?cs if:subcount(field.scope) ?><?cs var:field.scope
142?> <?cs /if ?><?cs if:subcount(field.static) ?><?cs var:field.static
143?> <?cs /if ?><?cs if:subcount(field.final) ?><?cs var:field.final
144?> <?cs /if ?><?cs if:subcount(field.type) ?><?cs call:type_link(field.type)
145?> <?cs /if ?><?cs var:field.name ?></pre>
146 <?cs call:show_annotations_list(field) ?>
147 <?cs call:description(field) ?>
148 <?cs if:subcount(field.constantValue) ?>
149 <p>Constant Value:
150 <?cs if:field.constantValue.isString ?>
151 <?cs var:field.constantValue.str ?>
152 <?cs else ?>
153 <?cs var:field.constantValue.dec ?>
154 (<?cs var:field.constantValue.hex ?>)
155 <?cs /if ?>
156 <?cs /if ?>
157</div>
158<?cs /each ?>
159<?cs /def ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800160
smain@google.coma0a6d322016-02-05 17:34:22 -0800161<?cs def:write_method_details(methods) ?>
162<?cs each:method=methods ?>
163<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
164<A NAME="<?cs var:method.anchor ?>"></A>
165<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
166<div class="api apilevel-<?cs var:method.since ?>">
167 <h3 class="api-name"><?cs var:method.name ?></h3>
168 <div class="api-level">
169 <div><?cs call:since_tags(method) ?></div>
170 <?cs call:federated_refs(method) ?>
171 </div>
172<pre class="api-signature no-pretty-print">
173<?cs if:subcount(method.scope) ?><?cs var:method.scope
174?> <?cs /if ?><?cs if:subcount(method.static) ?><?cs var:method.static
175?> <?cs /if ?><?cs if:subcount(method.final) ?><?cs var:method.final
176?> <?cs /if ?><?cs if:subcount(method.abstract) ?><?cs var:method.abstract
177?> <?cs /if ?><?cs if:subcount(method.returnType) ?><?cs call:type_link(method.returnType)
178?> <?cs /if ?><?cs var:method.name ?> (<?cs call:parameter_list(method.params, 1) ?>)</pre>
179 <?cs call:show_annotations_list(method) ?>
180 <?cs call:description(method) ?>
181</div>
182<?cs /each ?>
183<?cs /def ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800184
smain@google.coma0a6d322016-02-05 17:34:22 -0800185<?cs def:write_attr_details(attrs) ?>
186<?cs each:attr=attrs ?>
187<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
188<A NAME="<?cs var:attr.anchor ?>"></A>
189<h3 class="api-name"><?cs var:attr.name ?></h3>
190<?cs call:show_annotations_list(attr) ?>
191<?cs call:description(attr) ?>
192<?cs if:subcount(attr.methods) ?>
193 <p><b>Related methods:</b></p>
194 <ul class="nolist">
195 <?cs each:m=attr.methods ?>
196 <li><a href="<?cs var:toroot ?><?cs var:m.href ?>"><?cs var:m.name ?></a></li>
197 <?cs /each ?>
198 </ul>
199<?cs /if ?>
200<?cs /each ?>
201<?cs /def ?>
202<?cs
203#########################
204# END OF MACROS
205# START OF PAGE PRINTING
206#########################
207?>
208<?cs include:"doctype.cs" ?>
209<html<?cs if:devsite ?> devsite<?cs /if ?>>
210<?cs include:"head_tag.cs" ?>
211<?cs include:"body_tag.cs" ?>
212<?cs include:"header.cs" ?>
213<?cs include:"page_info.cs" ?>
214<?cs # This DIV spans the entire document to provide scope for some scripts ?>
215<div class="api apilevel-<?cs var:class.since ?>" id="jd-content">
216<?cs # this next line must be exactly like this to be parsed by eclipse ?>
217<!-- ======== START OF CLASS DATA ======== -->
218<?cs
219#
220# Page header with class name and signature
221#
222?>
223<h1 class="api-title"><?cs var:class.name ?></h1>
224<p>
225<code class="api-signature">
226 <?cs var:class.scope ?>
227 <?cs var:class.static ?>
228 <?cs var:class.final ?>
229 <?cs var:class.abstract ?>
230 <?cs var:class.kind ?>
231 <?cs var:class.name ?>
232</code>
233<br>
234<?cs set:colspan = subcount(class.inheritance) ?>
235<?cs each:supr = class.inheritance ?>
236<code class="api-signature">
237 <?cs if:colspan == 2 ?>
238 extends <?cs call:type_link(supr.short_class) ?>
239 <?cs /if ?>
240 <?cs if:last(supr) && subcount(supr.interfaces) ?>
241 implements
242 <?cs each:t=supr.interfaces ?>
243 <?cs call:type_link(t) ?><?cs
244 if: name(t)!=subcount(supr.interfaces)-1
245 ?>, <?cs /if ?>
246 <?cs /each ?>
247 <?cs /if ?>
248 <?cs set:colspan = colspan-1 ?>
249</code>
250<?cs /each ?>
251</p><?cs
252#
253# Class inheritance tree
254#
255?><table class="jd-inheritance-table">
256<?cs set:colspan = subcount(class.inheritance) ?>
257<?cs each:supr = class.inheritance ?>
258 <tr>
259 <?cs loop:i = 1, (subcount(class.inheritance)-colspan), 1 ?>
260 <td class="jd-inheritance-space">&nbsp;<?cs
261 if:(subcount(class.inheritance)-colspan) == i
262 ?>&nbsp;&nbsp;&#x21b3;<?cs
263 /if ?></td>
264 <?cs /loop ?>
265 <td colspan="<?cs var:colspan ?>" class="jd-inheritance-class-cell"><?cs
266 if:colspan == 1
267 ?><?cs call:class_name(class.qualifiedType) ?><?cs
268 else
269 ?><?cs call:type_link(supr.class) ?><?cs
270 /if ?>
271 </td>
272 </tr>
273 <?cs set:colspan = colspan-1 ?>
274<?cs /each ?>
275</table><?cs
276#
277# Collapsible list of subclasses
278#
279?><?cs
280if:subcount(class.subclasses.direct) && !class.subclasses.hidden ?>
281 <table class="jd-sumtable jd-sumtable-subclasses">
282 <tr><td style="border:none;margin:0;padding:0;">
283 <?cs call:expando_trigger("subclasses-direct", "closed") ?>Known Direct Subclasses
284 <?cs call:expandable_class_list("subclasses-direct", class.subclasses.direct, "list") ?>
285 </td></tr>
286 </table>
287 <?cs /if ?>
288 <?cs if:subcount(class.subclasses.indirect) && !class.subclasses.hidden ?>
289 <table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="2" style="border:none;margin:0;padding:0;">
290 <?cs call:expando_trigger("subclasses-indirect", "closed") ?>Known Indirect Subclasses
291 <?cs call:expandable_class_list("subclasses-indirect", class.subclasses.indirect, "list") ?>
292 </td></tr></table><?cs
293/if ?>
294<?cs call:show_annotations_list(class) ?>
295<br><hr><?cs
296#
297# The long-form class description.
298#
299?><?cs call:deprecated_warning(class) ?>
300
301<?cs if:subcount(class.descr) ?>
302 <p><?cs call:tag_list(class.descr) ?></p>
303<?cs /if ?>
304
305<?cs call:see_also_tags(class.seeAlso) ?>
306<?cs
307#################
308# CLASS SUMMARY
309#################
310?>
311<?cs # make sure there is a summary view to display ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800312<?cs if:subcount(class.inners)
313 || subcount(class.attrs)
314 || inhattrs
315 || subcount(class.enumConstants)
316 || subcount(class.constants)
317 || inhconstants
318 || subcount(class.fields)
319 || inhfields
320 || subcount(class.ctors.public)
321 || subcount(class.ctors.protected)
322 || subcount(class.methods.public)
323 || subcount(class.methods.protected)
324 || inhmethods ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800325<h2 class="api-section">Summary</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800326
327<?cs if:subcount(class.inners) ?>
328<?cs # this next line must be exactly like this to be parsed by eclipse ?>
329<!-- ======== NESTED CLASS SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800330<table id="nestedclasses" class="responsive">
331<tr><th colspan="2"><h3>Nested classes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800332<?cs call:write_inners_summary(class.inners) ?>
333<?cs /if ?>
334
335<?cs # this next line must be exactly like this to be parsed by eclipse ?>
336<?cs if:subcount(class.attrs) ?>
337<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800338<table id="lattrs" class="responsive">
339<tr><th colspan="2"><h3>XML attributes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800340<?cs call:write_attr_summary(class.attrs, 1) ?>
341<?cs /if ?>
342
343<?cs # if there are inherited attrs, write the table ?>
344<?cs if:inhattrs ?>
345<?cs # this next line must be exactly like this to be parsed by eclipse ?>
346<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800347<table id="inhattrs" class="responsive inhtable">
348<tr><th><h3>Inherited XML attributes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800349<?cs each:cl=class.inherited ?>
350<?cs if:subcount(cl.attrs) ?>
351<tr class="api apilevel-<?cs var:cl.since ?>" >
smain@google.coma0a6d322016-02-05 17:34:22 -0800352<td colspan="2">
353<?cs call:expando_trigger("inherited-attrs-"+cl.qualified, "closed") ?>From
354<?cs var:cl.kind ?>
355<code>
356 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
357</code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800358<div id="inherited-attrs-<?cs var:cl.qualified ?>">
359 <div id="inherited-attrs-<?cs var:cl.qualified ?>-list"
360 class="jd-inheritedlinks">
361 </div>
362 <div id="inherited-attrs-<?cs var:cl.qualified ?>-summary" style="display: none;">
363 <table class="jd-sumtable-expando">
364 <?cs call:write_attr_summary(cl.attrs, cl.included) ?></table>
365 </div>
366</div>
367</td></tr>
368<?cs /if ?>
369<?cs /each ?>
370</table>
371<?cs /if ?>
372
373<?cs if:subcount(class.enumConstants) ?>
374<?cs # this next line must be exactly like this to be parsed by eclipse ?>
375<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800376<table id="enumconstants" class="responsive constants">
377 <tr><th colspan="2"><h3>Enum values</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800378<?cs set:count = #1 ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800379 <?cs each:field=class.enumConstants ?>
380 <tr class="api apilevel-<?cs var:field.since ?>" >
381 <td><code><?cs call:type_link(field.type) ?></code>&nbsp;</td>
382 <td width="100%">
383 <code><?cs call:cond_link(field.name, toroot, field.href, cl.included) ?></code>
384 <p><?cs call:short_descr(field) ?>&nbsp;
385 <?cs call:show_annotations_list(field) ?></p>
386 </td>
387 </tr>
388 <?cs set:count = count + #1 ?>
389 <?cs /each ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800390<?cs /if ?>
391
392<?cs if:subcount(class.constants) ?>
393<?cs # this next line must be exactly like this to be parsed by eclipse ?>
394<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800395<table id="constants" class="responsive constants">
396<tr><th colspan="2"><h3>Constants</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800397<?cs call:write_constant_summary(class.constants, 1) ?>
398</table>
399<?cs /if ?>
400
401<?cs # if there are inherited constants, write the table ?>
402<?cs if:inhconstants ?>
403<?cs # this next line must be exactly like this to be parsed by eclipse ?>
404<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800405<table id="inhconstants" class="responsive constants inhtable">
406<tr><th><h3>Inherited constants</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800407<?cs each:cl=class.inherited ?>
408<?cs if:subcount(cl.constants) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800409 <tr class="api apilevel-<?cs var:cl.since ?>" >
410 <td>
411 <?cs call:expando_trigger("inherited-constants-"+cl.qualified, "closed") ?>From
412 <?cs var:cl.kind ?>
413 <code>
414 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
415 </code>
416 <div id="inherited-constants-<?cs var:cl.qualified ?>">
417 <div id="inherited-constants-<?cs var:cl.qualified ?>-list"
418 class="jd-inheritedlinks">
419 </div>
420 <div id="inherited-constants-<?cs var:cl.qualified ?>-summary" style="display: none;">
421 <table class="jd-sumtable-expando responsive">
422 <?cs call:write_constant_summary(cl.constants, cl.included) ?></table>
423 </div>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800424 </div>
smain@google.coma0a6d322016-02-05 17:34:22 -0800425 </td></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800426<?cs /if ?>
427<?cs /each ?>
428</table>
429<?cs /if ?>
430
431<?cs if:subcount(class.fields) ?>
432<?cs # this next line must be exactly like this to be parsed by eclipse ?>
433<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800434<table id="lfields" class="responsive properties">
435<tr><th colspan="2"><h3>Fields</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800436<?cs call:write_field_summary(class.fields, 1) ?>
437</table>
438<?cs /if ?>
439
440<?cs # if there are inherited fields, write the table ?>
441<?cs if:inhfields ?>
442<?cs # this next line must be exactly like this to be parsed by eclipse ?>
443<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800444<table id="inhfields" class="properties inhtable">
445<tr><th><h3>Inherited fields</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800446<?cs each:cl=class.inherited ?>
447<?cs if:subcount(cl.fields) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800448 <tr class="api apilevel-<?cs var:cl.since ?>" >
449 <td>
450 <?cs call:expando_trigger("inherited-fields-"+cl.qualified, "closed") ?>From
451 <?cs var:cl.kind ?>
452 <code>
453 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
454 </code>
455 <div id="inherited-fields-<?cs var:cl.qualified ?>">
456 <div id="inherited-fields-<?cs var:cl.qualified ?>-list"
457 class="jd-inheritedlinks">
458 </div>
459 <div id="inherited-fields-<?cs var:cl.qualified ?>-summary" style="display: none;">
460 <table class="jd-sumtable-expando responsive">
461 <?cs call:write_field_summary(cl.fields, cl.included) ?></table>
462 </div>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800463 </div>
smain@google.coma0a6d322016-02-05 17:34:22 -0800464 </td></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800465<?cs /if ?>
466<?cs /each ?>
467</table>
468<?cs /if ?>
469
470<?cs if:subcount(class.ctors.public) ?>
471<?cs # this next line must be exactly like this to be parsed by eclipse ?>
472<!-- ======== CONSTRUCTOR SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800473<table id="pubctors" class="responsive constructors">
474<tr><th colspan="2"><h3>Public constructors</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800475<?cs call:write_method_summary(class.ctors.public, 1) ?>
476</table>
477<?cs /if ?>
478
479<?cs if:subcount(class.ctors.protected) ?>
480<?cs # this next line must be exactly like this to be parsed by eclipse ?>
481<!-- ======== CONSTRUCTOR SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800482<table id="proctors" class="responsive constructors">
483<tr><th colspan="2"><h3>Protected constructors</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800484<?cs call:write_method_summary(class.ctors.protected, 1) ?>
485</table>
486<?cs /if ?>
487
488<?cs if:subcount(class.methods.public) ?>
489<?cs # this next line must be exactly like this to be parsed by eclipse ?>
490<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800491<table id="pubmethods" class="responsive methods">
492<tr><th colspan="2"><h3>Public methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800493<?cs call:write_method_summary(class.methods.public, 1) ?>
494</table>
495<?cs /if ?>
496
497<?cs if:subcount(class.methods.protected) ?>
498<?cs # this next line must be exactly like this to be parsed by eclipse ?>
499<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800500<table id="promethods" class="reponsive methods">
501<tr><th colspan="2"><h3>Protected methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800502<?cs call:write_method_summary(class.methods.protected, 1) ?>
503</table>
504<?cs /if ?>
505
506<?cs # if there are inherited methods, write the table ?>
507<?cs if:inhmethods ?>
508<?cs # this next line must be exactly like this to be parsed by eclipse ?>
509<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800510<table id="inhmethods" class="methods inhtable">
511<tr><th><h3>Inherited methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800512<?cs each:cl=class.inherited ?>
513<?cs if:subcount(cl.methods) ?>
514<tr class="api apilevel-<?cs var:cl.since ?>" >
smain@google.coma0a6d322016-02-05 17:34:22 -0800515<td colspan="2">
516<?cs call:expando_trigger("inherited-methods-"+cl.qualified, "closed") ?>From
517<?cs var:cl.kind ?>
518<code>
519 <?cs if:cl.included ?>
520 <a href="<?cs var:toroot ?><?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
521 <?cs elif:cl.federated ?>
522 <a href="<?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
523 <?cs else ?>
524 <?cs var:cl.qualified ?>
525 <?cs /if ?>
526</code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800527<div id="inherited-methods-<?cs var:cl.qualified ?>">
528 <div id="inherited-methods-<?cs var:cl.qualified ?>-list"
529 class="jd-inheritedlinks">
530 </div>
531 <div id="inherited-methods-<?cs var:cl.qualified ?>-summary" style="display: none;">
smain@google.coma0a6d322016-02-05 17:34:22 -0800532 <table class="jd-sumtable-expando responsive">
533 <?cs call:write_method_summary(cl.methods, cl.included) ?>
534 </table>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800535 </div>
536</div>
537</td></tr>
538<?cs /if ?>
539<?cs /each ?>
540</table>
541<?cs /if ?>
542<?cs /if ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800543<?cs
544################
545# CLASS DETAILS
546################
547?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800548<!-- XML Attributes -->
549<?cs if:subcount(class.attrs) ?>
550<?cs # this next line must be exactly like this to be parsed by eclipse ?>
551<!-- ========= FIELD DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800552<h2 class="api-section">XML attributes</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800553<?cs call:write_attr_details(class.attrs) ?>
554<?cs /if ?>
555
556<!-- Enum Values -->
557<?cs if:subcount(class.enumConstants) ?>
558<?cs # this next line must be exactly like this to be parsed by eclipse ?>
559<!-- ========= ENUM CONSTANTS DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800560<h2 class="api-section">Enum values</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800561<?cs call:write_field_details(class.enumConstants) ?>
562<?cs /if ?>
563
564<!-- Constants -->
565<?cs if:subcount(class.constants) ?>
566<?cs # this next line must be exactly like this to be parsed by eclipse ?>
567<!-- ========= ENUM CONSTANTS DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800568<h2 class="api-section">Constants</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800569<?cs call:write_field_details(class.constants) ?>
570<?cs /if ?>
571
572<!-- Fields -->
573<?cs if:subcount(class.fields) ?>
574<?cs # this next line must be exactly like this to be parsed by eclipse ?>
575<!-- ========= FIELD DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800576<h2 class="api-section">Fields</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800577<?cs call:write_field_details(class.fields) ?>
578<?cs /if ?>
579
580<!-- Public ctors -->
581<?cs if:subcount(class.ctors.public) ?>
582<?cs # this next line must be exactly like this to be parsed by eclipse ?>
583<!-- ========= CONSTRUCTOR DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800584<h2 class="api-section">Public constructors</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800585<?cs call:write_method_details(class.ctors.public) ?>
586<?cs /if ?>
587
588<?cs # this next line must be exactly like this to be parsed by eclipse ?>
589<!-- ========= CONSTRUCTOR DETAIL ======== -->
590<!-- Protected ctors -->
591<?cs if:subcount(class.ctors.protected) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800592<h2 class="api-section">Protected constructors</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800593<?cs call:write_method_details(class.ctors.protected) ?>
594<?cs /if ?>
595
596<?cs # this next line must be exactly like this to be parsed by eclipse ?>
597<!-- ========= METHOD DETAIL ======== -->
598<!-- Public methdos -->
599<?cs if:subcount(class.methods.public) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800600<h2 class="api-section">Public methods</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800601<?cs call:write_method_details(class.methods.public) ?>
602<?cs /if ?>
603
604<?cs # this next line must be exactly like this to be parsed by eclipse ?>
605<!-- ========= METHOD DETAIL ======== -->
606<?cs if:subcount(class.methods.protected) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800607<h2 class="api-section">Protected methods</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800608<?cs call:write_method_details(class.methods.protected) ?>
609<?cs /if ?>
610
611<?cs # the next two lines must be exactly like this to be parsed by eclipse ?>
612<!-- ========= END OF CLASS DATA ========= -->
Dirk Dougherty541b4942014-02-14 18:31:53 -0800613
smain@google.coma0a6d322016-02-05 17:34:22 -0800614</div><!-- end jd-content -->
Amanda Kassaye4a8ab12016-03-29 16:11:01 -0400615<?cs if:!devsite ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800616<?cs include:"footer.cs" ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800617<?cs include:"trailer.cs" ?>
Amanda Kassaye4a8ab12016-03-29 16:11:01 -0400618<?cs /if ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800619</body>
620</html>