blob: 285ffec92d5495245d620698665d218c119054cd [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?>
10<?cs
11# Prints a comma separated list of parameters with optional line breaks
12?><?cs
13def:parameter_list(params, linebreaks) ?><?cs
14 each:param = params ?><?cs
15 call:simple_type_link(param.type)?> <?cs
16 var:param.name ?><?cs
17 if: name(param)!=subcount(params)-1
18 ?>, <?cs if:linebreaks
19?>
20 <?cs /if ?><?cs
21 /if ?><?cs
22 /each ?><?cs
23/def ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080024
smain@google.coma0a6d322016-02-05 17:34:22 -080025<?cs
26# Prints the table cells for the summary of methods.
27?><?cs def:write_method_summary(methods, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080028<?cs set:count = #1 ?>
29<?cs each:method = methods ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080030 <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
31 <tr class="api apilevel-<?cs var:method.since ?>" >
32 <?cs # leave out this cell if there is no return type = if constructors ?>
33 <?cs if:subcount(method.returnType) ?>
34 <td><code>
35 <?cs var:method.abstract ?>
36 <?cs var:method.final ?>
37 <?cs var:method.static ?>
38 <?cs call:type_link(method.generic) ?>
39 <?cs call:type_link(method.returnType) ?></code>
40 </td>
Dirk Dougherty0dc81b92015-12-08 14:49:52 -080041 <?cs /if ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080042 <td width="100%">
43 <code>
44 <?cs call:cond_link(method.name, toroot, method.href, included) ?>(<?cs call:parameter_list(method.params, 0) ?>)
45 </code>
46 <?cs if:subcount(method.shortDescr) || subcount(method.deprecated) ?>
47 <p><?cs call:short_descr(method) ?>
48 <?cs call:show_annotations_list(method) ?></p>
49 <?cs /if ?>
50 </td>
51 </tr>
52 <?cs set:count = count + #1 ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080053<?cs /each ?>
54<?cs /def ?>
55
smain@google.coma0a6d322016-02-05 17:34:22 -080056<?cs
57# Print the table cells for the summary of fields.
58?><?cs def:write_field_summary(fields, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080059<?cs set:count = #1 ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080060<?cs each:field=fields ?>
61 <tr class="api apilevel-<?cs var:field.since ?>" >
62 <td><code>
63 <?cs var:field.scope ?>
64 <?cs var:field.static ?>
65 <?cs var:field.final ?>
66 <?cs call:type_link(field.type) ?></code></td>
67 <td width="100%">
68 <code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code>
69 <p><?cs call:short_descr(field) ?>
70 <?cs call:show_annotations_list(field) ?></p>
71 </td>
72 </tr>
73 <?cs set:count = count + #1 ?>
74<?cs /each ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080075<?cs /def ?>
76
smain@google.coma0a6d322016-02-05 17:34:22 -080077<?cs
78# Print the table cells for the summary of constants
79?><?cs def:write_constant_summary(fields, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080080<?cs set:count = #1 ?>
81 <?cs each:field=fields ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080082 <tr class="api apilevel-<?cs var:field.since ?>" >
83 <td><code><?cs call:type_link(field.type) ?></code></td>
84 <td width="100%">
85 <code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code>
86 <p><?cs call:short_descr(field) ?>
87 <?cs call:show_annotations_list(field) ?></p>
Dirk Doughertyff233cc2015-05-04 14:37:05 -070088 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -080089 </tr>
90 <?cs set:count = count + #1 ?>
91 <?cs /each ?>
92<?cs /def ?>
93
smain@google.coma0a6d322016-02-05 17:34:22 -080094<?cs
95# Print the table cells for the summary of attributes
96?><?cs def:write_attr_summary(attrs, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080097<?cs set:count = #1 ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080098 <?cs each:attr=attrs ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080099 <tr class="api apilevel-<?cs var:attr.since ?>" >
100 <td><?cs if:included ?><a href="<?cs var:toroot ?><?cs var:attr.href ?>"><?cs /if
101 ?><code><?cs var:attr.name ?></code><?cs if:included ?></a><?cs /if ?></td>
102 <td width="100%">
Dirk Doughertyff233cc2015-05-04 14:37:05 -0700103 <?cs call:short_descr(attr) ?>&nbsp;
104 <?cs call:show_annotations_list(attr) ?>
105 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800106 </tr>
107 <?cs set:count = count + #1 ?>
108 <?cs /each ?>
109<?cs /def ?>
110
smain@google.coma0a6d322016-02-05 17:34:22 -0800111<?cs
112# Print the table cells for the inner classes
113?><?cs def:write_inners_summary(classes) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800114<?cs set:count = #1 ?>
115 <?cs each:cl=class.inners ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800116 <tr class="api apilevel-<?cs var:cl.since ?>" >
117 <td class="jd-typecol"><code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800118 <?cs var:cl.scope ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800119 <?cs var:cl.static ?>
120 <?cs var:cl.final ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800121 <?cs var:cl.abstract ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800122 <?cs var:cl.kind ?></code></td>
Dirk Doughertyff233cc2015-05-04 14:37:05 -0700123 <td class="jd-descrcol" width="100%">
smain@google.coma0a6d322016-02-05 17:34:22 -0800124 <code><?cs call:type_link(cl.type) ?></code>
125 <p><?cs call:short_descr(cl) ?>&nbsp;
126 <?cs call:show_annotations_list(cl) ?></p>
Dirk Doughertyff233cc2015-05-04 14:37:05 -0700127 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800128 </tr>
129 <?cs set:count = count + #1 ?>
130 <?cs /each ?>
131<?cs /def ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800132<?cs
133###################
134# END OF FUNCTIONS FOR API SUMMARY
135# START OF FUNCTIONS FOR THE API DETAILS
136###################
137?>
138<?cs
139# Print the table cells for the summary of constants
140?>
141<?cs def:write_field_details(fields) ?>
142<?cs each:field=fields ?>
143<?cs # this next line must be exactly like this to be parsed by eclipse ?>
144<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
145<A NAME="<?cs var:field.anchor ?>"></A>
146<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
147<div class="api apilevel-<?cs var:field.since ?>">
148 <h3 class="api-name"><?cs var:field.name ?></h3>
149 <div class="api-level">
150 <?cs call:since_tags(field) ?>
151 <?cs call:federated_refs(field) ?>
152 </div>
153<pre class="api-signature no-pretty-print">
154<?cs if:subcount(field.scope) ?><?cs var:field.scope
155?> <?cs /if ?><?cs if:subcount(field.static) ?><?cs var:field.static
156?> <?cs /if ?><?cs if:subcount(field.final) ?><?cs var:field.final
157?> <?cs /if ?><?cs if:subcount(field.type) ?><?cs call:type_link(field.type)
158?> <?cs /if ?><?cs var:field.name ?></pre>
159 <?cs call:show_annotations_list(field) ?>
160 <?cs call:description(field) ?>
161 <?cs if:subcount(field.constantValue) ?>
162 <p>Constant Value:
163 <?cs if:field.constantValue.isString ?>
164 <?cs var:field.constantValue.str ?>
165 <?cs else ?>
166 <?cs var:field.constantValue.dec ?>
167 (<?cs var:field.constantValue.hex ?>)
168 <?cs /if ?>
169 <?cs /if ?>
170</div>
171<?cs /each ?>
172<?cs /def ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800173
smain@google.coma0a6d322016-02-05 17:34:22 -0800174<?cs def:write_method_details(methods) ?>
175<?cs each:method=methods ?>
176<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
177<A NAME="<?cs var:method.anchor ?>"></A>
178<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
179<div class="api apilevel-<?cs var:method.since ?>">
180 <h3 class="api-name"><?cs var:method.name ?></h3>
181 <div class="api-level">
182 <div><?cs call:since_tags(method) ?></div>
183 <?cs call:federated_refs(method) ?>
184 </div>
185<pre class="api-signature no-pretty-print">
186<?cs if:subcount(method.scope) ?><?cs var:method.scope
187?> <?cs /if ?><?cs if:subcount(method.static) ?><?cs var:method.static
188?> <?cs /if ?><?cs if:subcount(method.final) ?><?cs var:method.final
189?> <?cs /if ?><?cs if:subcount(method.abstract) ?><?cs var:method.abstract
190?> <?cs /if ?><?cs if:subcount(method.returnType) ?><?cs call:type_link(method.returnType)
191?> <?cs /if ?><?cs var:method.name ?> (<?cs call:parameter_list(method.params, 1) ?>)</pre>
192 <?cs call:show_annotations_list(method) ?>
193 <?cs call:description(method) ?>
194</div>
195<?cs /each ?>
196<?cs /def ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800197
smain@google.coma0a6d322016-02-05 17:34:22 -0800198<?cs def:write_attr_details(attrs) ?>
199<?cs each:attr=attrs ?>
200<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
201<A NAME="<?cs var:attr.anchor ?>"></A>
202<h3 class="api-name"><?cs var:attr.name ?></h3>
203<?cs call:show_annotations_list(attr) ?>
204<?cs call:description(attr) ?>
205<?cs if:subcount(attr.methods) ?>
206 <p><b>Related methods:</b></p>
207 <ul class="nolist">
208 <?cs each:m=attr.methods ?>
209 <li><a href="<?cs var:toroot ?><?cs var:m.href ?>"><?cs var:m.name ?></a></li>
210 <?cs /each ?>
211 </ul>
212<?cs /if ?>
213<?cs /each ?>
214<?cs /def ?>
215<?cs
216#########################
217# END OF MACROS
218# START OF PAGE PRINTING
219#########################
220?>
221<?cs include:"doctype.cs" ?>
222<html<?cs if:devsite ?> devsite<?cs /if ?>>
223<?cs include:"head_tag.cs" ?>
224<?cs include:"body_tag.cs" ?>
225<?cs include:"header.cs" ?>
226<?cs include:"page_info.cs" ?>
227<?cs # This DIV spans the entire document to provide scope for some scripts ?>
228<div class="api apilevel-<?cs var:class.since ?>" id="jd-content">
229<?cs # this next line must be exactly like this to be parsed by eclipse ?>
230<!-- ======== START OF CLASS DATA ======== -->
231<?cs
232#
233# Page header with class name and signature
234#
235?>
236<h1 class="api-title"><?cs var:class.name ?></h1>
237<p>
238<code class="api-signature">
239 <?cs var:class.scope ?>
240 <?cs var:class.static ?>
241 <?cs var:class.final ?>
242 <?cs var:class.abstract ?>
243 <?cs var:class.kind ?>
244 <?cs var:class.name ?>
245</code>
246<br>
247<?cs set:colspan = subcount(class.inheritance) ?>
248<?cs each:supr = class.inheritance ?>
249<code class="api-signature">
250 <?cs if:colspan == 2 ?>
251 extends <?cs call:type_link(supr.short_class) ?>
252 <?cs /if ?>
253 <?cs if:last(supr) && subcount(supr.interfaces) ?>
254 implements
255 <?cs each:t=supr.interfaces ?>
256 <?cs call:type_link(t) ?><?cs
257 if: name(t)!=subcount(supr.interfaces)-1
258 ?>, <?cs /if ?>
259 <?cs /each ?>
260 <?cs /if ?>
261 <?cs set:colspan = colspan-1 ?>
262</code>
263<?cs /each ?>
264</p><?cs
265#
266# Class inheritance tree
267#
268?><table class="jd-inheritance-table">
269<?cs set:colspan = subcount(class.inheritance) ?>
270<?cs each:supr = class.inheritance ?>
271 <tr>
272 <?cs loop:i = 1, (subcount(class.inheritance)-colspan), 1 ?>
273 <td class="jd-inheritance-space">&nbsp;<?cs
274 if:(subcount(class.inheritance)-colspan) == i
275 ?>&nbsp;&nbsp;&#x21b3;<?cs
276 /if ?></td>
277 <?cs /loop ?>
278 <td colspan="<?cs var:colspan ?>" class="jd-inheritance-class-cell"><?cs
279 if:colspan == 1
280 ?><?cs call:class_name(class.qualifiedType) ?><?cs
281 else
282 ?><?cs call:type_link(supr.class) ?><?cs
283 /if ?>
284 </td>
285 </tr>
286 <?cs set:colspan = colspan-1 ?>
287<?cs /each ?>
288</table><?cs
289#
290# Collapsible list of subclasses
291#
292?><?cs
293if:subcount(class.subclasses.direct) && !class.subclasses.hidden ?>
294 <table class="jd-sumtable jd-sumtable-subclasses">
295 <tr><td style="border:none;margin:0;padding:0;">
296 <?cs call:expando_trigger("subclasses-direct", "closed") ?>Known Direct Subclasses
297 <?cs call:expandable_class_list("subclasses-direct", class.subclasses.direct, "list") ?>
298 </td></tr>
299 </table>
300 <?cs /if ?>
301 <?cs if:subcount(class.subclasses.indirect) && !class.subclasses.hidden ?>
302 <table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="2" style="border:none;margin:0;padding:0;">
303 <?cs call:expando_trigger("subclasses-indirect", "closed") ?>Known Indirect Subclasses
304 <?cs call:expandable_class_list("subclasses-indirect", class.subclasses.indirect, "list") ?>
305 </td></tr></table><?cs
306/if ?>
307<?cs call:show_annotations_list(class) ?>
308<br><hr><?cs
309#
310# The long-form class description.
311#
312?><?cs call:deprecated_warning(class) ?>
313
314<?cs if:subcount(class.descr) ?>
315 <p><?cs call:tag_list(class.descr) ?></p>
316<?cs /if ?>
317
318<?cs call:see_also_tags(class.seeAlso) ?>
319<?cs
320#################
321# CLASS SUMMARY
322#################
323?>
324<?cs # make sure there is a summary view to display ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800325<?cs if:subcount(class.inners)
326 || subcount(class.attrs)
327 || inhattrs
328 || subcount(class.enumConstants)
329 || subcount(class.constants)
330 || inhconstants
331 || subcount(class.fields)
332 || inhfields
333 || subcount(class.ctors.public)
334 || subcount(class.ctors.protected)
335 || subcount(class.methods.public)
336 || subcount(class.methods.protected)
337 || inhmethods ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800338<h2 class="api-section">Summary</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800339
340<?cs if:subcount(class.inners) ?>
341<?cs # this next line must be exactly like this to be parsed by eclipse ?>
342<!-- ======== NESTED CLASS SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800343<table id="nestedclasses" class="responsive">
344<tr><th colspan="2"><h3>Nested classes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800345<?cs call:write_inners_summary(class.inners) ?>
346<?cs /if ?>
347
348<?cs # this next line must be exactly like this to be parsed by eclipse ?>
349<?cs if:subcount(class.attrs) ?>
350<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800351<table id="lattrs" class="responsive">
352<tr><th colspan="2"><h3>XML attributes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800353<?cs call:write_attr_summary(class.attrs, 1) ?>
354<?cs /if ?>
355
356<?cs # if there are inherited attrs, write the table ?>
357<?cs if:inhattrs ?>
358<?cs # this next line must be exactly like this to be parsed by eclipse ?>
359<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800360<table id="inhattrs" class="responsive inhtable">
361<tr><th><h3>Inherited XML attributes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800362<?cs each:cl=class.inherited ?>
363<?cs if:subcount(cl.attrs) ?>
364<tr class="api apilevel-<?cs var:cl.since ?>" >
smain@google.coma0a6d322016-02-05 17:34:22 -0800365<td colspan="2">
366<?cs call:expando_trigger("inherited-attrs-"+cl.qualified, "closed") ?>From
367<?cs var:cl.kind ?>
368<code>
369 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
370</code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800371<div id="inherited-attrs-<?cs var:cl.qualified ?>">
372 <div id="inherited-attrs-<?cs var:cl.qualified ?>-list"
373 class="jd-inheritedlinks">
374 </div>
375 <div id="inherited-attrs-<?cs var:cl.qualified ?>-summary" style="display: none;">
376 <table class="jd-sumtable-expando">
377 <?cs call:write_attr_summary(cl.attrs, cl.included) ?></table>
378 </div>
379</div>
380</td></tr>
381<?cs /if ?>
382<?cs /each ?>
383</table>
384<?cs /if ?>
385
386<?cs if:subcount(class.enumConstants) ?>
387<?cs # this next line must be exactly like this to be parsed by eclipse ?>
388<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800389<table id="enumconstants" class="responsive constants">
390 <tr><th colspan="2"><h3>Enum values</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800391<?cs set:count = #1 ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800392 <?cs each:field=class.enumConstants ?>
393 <tr class="api apilevel-<?cs var:field.since ?>" >
394 <td><code><?cs call:type_link(field.type) ?></code>&nbsp;</td>
395 <td width="100%">
396 <code><?cs call:cond_link(field.name, toroot, field.href, cl.included) ?></code>
397 <p><?cs call:short_descr(field) ?>&nbsp;
398 <?cs call:show_annotations_list(field) ?></p>
399 </td>
400 </tr>
401 <?cs set:count = count + #1 ?>
402 <?cs /each ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800403<?cs /if ?>
404
405<?cs if:subcount(class.constants) ?>
406<?cs # this next line must be exactly like this to be parsed by eclipse ?>
407<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800408<table id="constants" class="responsive constants">
409<tr><th colspan="2"><h3>Constants</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800410<?cs call:write_constant_summary(class.constants, 1) ?>
411</table>
412<?cs /if ?>
413
414<?cs # if there are inherited constants, write the table ?>
415<?cs if:inhconstants ?>
416<?cs # this next line must be exactly like this to be parsed by eclipse ?>
417<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800418<table id="inhconstants" class="responsive constants inhtable">
419<tr><th><h3>Inherited constants</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800420<?cs each:cl=class.inherited ?>
421<?cs if:subcount(cl.constants) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800422 <tr class="api apilevel-<?cs var:cl.since ?>" >
423 <td>
424 <?cs call:expando_trigger("inherited-constants-"+cl.qualified, "closed") ?>From
425 <?cs var:cl.kind ?>
426 <code>
427 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
428 </code>
429 <div id="inherited-constants-<?cs var:cl.qualified ?>">
430 <div id="inherited-constants-<?cs var:cl.qualified ?>-list"
431 class="jd-inheritedlinks">
432 </div>
433 <div id="inherited-constants-<?cs var:cl.qualified ?>-summary" style="display: none;">
434 <table class="jd-sumtable-expando responsive">
435 <?cs call:write_constant_summary(cl.constants, cl.included) ?></table>
436 </div>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800437 </div>
smain@google.coma0a6d322016-02-05 17:34:22 -0800438 </td></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800439<?cs /if ?>
440<?cs /each ?>
441</table>
442<?cs /if ?>
443
444<?cs if:subcount(class.fields) ?>
445<?cs # this next line must be exactly like this to be parsed by eclipse ?>
446<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800447<table id="lfields" class="responsive properties">
448<tr><th colspan="2"><h3>Fields</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800449<?cs call:write_field_summary(class.fields, 1) ?>
450</table>
451<?cs /if ?>
452
453<?cs # if there are inherited fields, write the table ?>
454<?cs if:inhfields ?>
455<?cs # this next line must be exactly like this to be parsed by eclipse ?>
456<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800457<table id="inhfields" class="properties inhtable">
458<tr><th><h3>Inherited fields</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800459<?cs each:cl=class.inherited ?>
460<?cs if:subcount(cl.fields) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800461 <tr class="api apilevel-<?cs var:cl.since ?>" >
462 <td>
463 <?cs call:expando_trigger("inherited-fields-"+cl.qualified, "closed") ?>From
464 <?cs var:cl.kind ?>
465 <code>
466 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
467 </code>
468 <div id="inherited-fields-<?cs var:cl.qualified ?>">
469 <div id="inherited-fields-<?cs var:cl.qualified ?>-list"
470 class="jd-inheritedlinks">
471 </div>
472 <div id="inherited-fields-<?cs var:cl.qualified ?>-summary" style="display: none;">
473 <table class="jd-sumtable-expando responsive">
474 <?cs call:write_field_summary(cl.fields, cl.included) ?></table>
475 </div>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800476 </div>
smain@google.coma0a6d322016-02-05 17:34:22 -0800477 </td></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800478<?cs /if ?>
479<?cs /each ?>
480</table>
481<?cs /if ?>
482
483<?cs if:subcount(class.ctors.public) ?>
484<?cs # this next line must be exactly like this to be parsed by eclipse ?>
485<!-- ======== CONSTRUCTOR SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800486<table id="pubctors" class="responsive constructors">
487<tr><th colspan="2"><h3>Public constructors</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800488<?cs call:write_method_summary(class.ctors.public, 1) ?>
489</table>
490<?cs /if ?>
491
492<?cs if:subcount(class.ctors.protected) ?>
493<?cs # this next line must be exactly like this to be parsed by eclipse ?>
494<!-- ======== CONSTRUCTOR SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800495<table id="proctors" class="responsive constructors">
496<tr><th colspan="2"><h3>Protected constructors</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800497<?cs call:write_method_summary(class.ctors.protected, 1) ?>
498</table>
499<?cs /if ?>
500
501<?cs if:subcount(class.methods.public) ?>
502<?cs # this next line must be exactly like this to be parsed by eclipse ?>
503<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800504<table id="pubmethods" class="responsive methods">
505<tr><th colspan="2"><h3>Public methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800506<?cs call:write_method_summary(class.methods.public, 1) ?>
507</table>
508<?cs /if ?>
509
510<?cs if:subcount(class.methods.protected) ?>
511<?cs # this next line must be exactly like this to be parsed by eclipse ?>
512<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800513<table id="promethods" class="reponsive methods">
514<tr><th colspan="2"><h3>Protected methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800515<?cs call:write_method_summary(class.methods.protected, 1) ?>
516</table>
517<?cs /if ?>
518
519<?cs # if there are inherited methods, write the table ?>
520<?cs if:inhmethods ?>
521<?cs # this next line must be exactly like this to be parsed by eclipse ?>
522<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800523<table id="inhmethods" class="methods inhtable">
524<tr><th><h3>Inherited methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800525<?cs each:cl=class.inherited ?>
526<?cs if:subcount(cl.methods) ?>
527<tr class="api apilevel-<?cs var:cl.since ?>" >
smain@google.coma0a6d322016-02-05 17:34:22 -0800528<td colspan="2">
529<?cs call:expando_trigger("inherited-methods-"+cl.qualified, "closed") ?>From
530<?cs var:cl.kind ?>
531<code>
532 <?cs if:cl.included ?>
533 <a href="<?cs var:toroot ?><?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
534 <?cs elif:cl.federated ?>
535 <a href="<?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
536 <?cs else ?>
537 <?cs var:cl.qualified ?>
538 <?cs /if ?>
539</code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800540<div id="inherited-methods-<?cs var:cl.qualified ?>">
541 <div id="inherited-methods-<?cs var:cl.qualified ?>-list"
542 class="jd-inheritedlinks">
543 </div>
544 <div id="inherited-methods-<?cs var:cl.qualified ?>-summary" style="display: none;">
smain@google.coma0a6d322016-02-05 17:34:22 -0800545 <table class="jd-sumtable-expando responsive">
546 <?cs call:write_method_summary(cl.methods, cl.included) ?>
547 </table>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800548 </div>
549</div>
550</td></tr>
551<?cs /if ?>
552<?cs /each ?>
553</table>
554<?cs /if ?>
555<?cs /if ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800556<?cs
557################
558# CLASS DETAILS
559################
560?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800561<!-- XML Attributes -->
562<?cs if:subcount(class.attrs) ?>
563<?cs # this next line must be exactly like this to be parsed by eclipse ?>
564<!-- ========= FIELD DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800565<h2 class="api-section">XML attributes</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800566<?cs call:write_attr_details(class.attrs) ?>
567<?cs /if ?>
568
569<!-- Enum Values -->
570<?cs if:subcount(class.enumConstants) ?>
571<?cs # this next line must be exactly like this to be parsed by eclipse ?>
572<!-- ========= ENUM CONSTANTS DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800573<h2 class="api-section">Enum values</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800574<?cs call:write_field_details(class.enumConstants) ?>
575<?cs /if ?>
576
577<!-- Constants -->
578<?cs if:subcount(class.constants) ?>
579<?cs # this next line must be exactly like this to be parsed by eclipse ?>
580<!-- ========= ENUM CONSTANTS DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800581<h2 class="api-section">Constants</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800582<?cs call:write_field_details(class.constants) ?>
583<?cs /if ?>
584
585<!-- Fields -->
586<?cs if:subcount(class.fields) ?>
587<?cs # this next line must be exactly like this to be parsed by eclipse ?>
588<!-- ========= FIELD DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800589<h2 class="api-section">Fields</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800590<?cs call:write_field_details(class.fields) ?>
591<?cs /if ?>
592
593<!-- Public ctors -->
594<?cs if:subcount(class.ctors.public) ?>
595<?cs # this next line must be exactly like this to be parsed by eclipse ?>
596<!-- ========= CONSTRUCTOR DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800597<h2 class="api-section">Public constructors</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800598<?cs call:write_method_details(class.ctors.public) ?>
599<?cs /if ?>
600
601<?cs # this next line must be exactly like this to be parsed by eclipse ?>
602<!-- ========= CONSTRUCTOR DETAIL ======== -->
603<!-- Protected ctors -->
604<?cs if:subcount(class.ctors.protected) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800605<h2 class="api-section">Protected constructors</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800606<?cs call:write_method_details(class.ctors.protected) ?>
607<?cs /if ?>
608
609<?cs # this next line must be exactly like this to be parsed by eclipse ?>
610<!-- ========= METHOD DETAIL ======== -->
611<!-- Public methdos -->
612<?cs if:subcount(class.methods.public) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800613<h2 class="api-section">Public methods</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800614<?cs call:write_method_details(class.methods.public) ?>
615<?cs /if ?>
616
617<?cs # this next line must be exactly like this to be parsed by eclipse ?>
618<!-- ========= METHOD DETAIL ======== -->
619<?cs if:subcount(class.methods.protected) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800620<h2 class="api-section">Protected methods</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800621<?cs call:write_method_details(class.methods.protected) ?>
622<?cs /if ?>
623
624<?cs # the next two lines must be exactly like this to be parsed by eclipse ?>
625<!-- ========= END OF CLASS DATA ========= -->
Dirk Dougherty541b4942014-02-14 18:31:53 -0800626
smain@google.coma0a6d322016-02-05 17:34:22 -0800627</div><!-- end jd-content -->
Dirk Dougherty0dc81b92015-12-08 14:49:52 -0800628<?cs include:"footer.cs" ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800629<?cs include:"trailer.cs" ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800630</body>
631</html>