blob: 335a68c934dc2c6bde99abd5c559daeca1050d59 [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 ?>
22 <?cs var:method.final ?>
23 <?cs var:method.static ?>
24 <?cs call:type_link(method.generic) ?>
25 <?cs call:type_link(method.returnType) ?></code>
26 </td>
Dirk Dougherty0dc81b92015-12-08 14:49:52 -080027 <?cs /if ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080028 <td width="100%">
29 <code>
30 <?cs call:cond_link(method.name, toroot, method.href, included) ?>(<?cs call:parameter_list(method.params, 0) ?>)
31 </code>
32 <?cs if:subcount(method.shortDescr) || subcount(method.deprecated) ?>
33 <p><?cs call:short_descr(method) ?>
34 <?cs call:show_annotations_list(method) ?></p>
35 <?cs /if ?>
36 </td>
37 </tr>
38 <?cs set:count = count + #1 ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080039<?cs /each ?>
40<?cs /def ?>
41
smain@google.coma0a6d322016-02-05 17:34:22 -080042<?cs
43# Print the table cells for the summary of fields.
44?><?cs def:write_field_summary(fields, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080045<?cs set:count = #1 ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080046<?cs each:field=fields ?>
47 <tr class="api apilevel-<?cs var:field.since ?>" >
48 <td><code>
49 <?cs var:field.scope ?>
50 <?cs var:field.static ?>
51 <?cs var:field.final ?>
52 <?cs call:type_link(field.type) ?></code></td>
53 <td width="100%">
54 <code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code>
55 <p><?cs call:short_descr(field) ?>
56 <?cs call:show_annotations_list(field) ?></p>
57 </td>
58 </tr>
59 <?cs set:count = count + #1 ?>
60<?cs /each ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080061<?cs /def ?>
62
smain@google.coma0a6d322016-02-05 17:34:22 -080063<?cs
64# Print the table cells for the summary of constants
65?><?cs def:write_constant_summary(fields, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080066<?cs set:count = #1 ?>
67 <?cs each:field=fields ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080068 <tr class="api apilevel-<?cs var:field.since ?>" >
69 <td><code><?cs call:type_link(field.type) ?></code></td>
70 <td width="100%">
71 <code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code>
72 <p><?cs call:short_descr(field) ?>
73 <?cs call:show_annotations_list(field) ?></p>
Dirk Doughertyff233cc2015-05-04 14:37:05 -070074 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -080075 </tr>
76 <?cs set:count = count + #1 ?>
77 <?cs /each ?>
78<?cs /def ?>
79
smain@google.coma0a6d322016-02-05 17:34:22 -080080<?cs
81# Print the table cells for the summary of attributes
82?><?cs def:write_attr_summary(attrs, included) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080083<?cs set:count = #1 ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -080084 <?cs each:attr=attrs ?>
smain@google.coma0a6d322016-02-05 17:34:22 -080085 <tr class="api apilevel-<?cs var:attr.since ?>" >
86 <td><?cs if:included ?><a href="<?cs var:toroot ?><?cs var:attr.href ?>"><?cs /if
87 ?><code><?cs var:attr.name ?></code><?cs if:included ?></a><?cs /if ?></td>
88 <td width="100%">
Dirk Doughertyff233cc2015-05-04 14:37:05 -070089 <?cs call:short_descr(attr) ?>&nbsp;
90 <?cs call:show_annotations_list(attr) ?>
91 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -080092 </tr>
93 <?cs set:count = count + #1 ?>
94 <?cs /each ?>
95<?cs /def ?>
96
smain@google.coma0a6d322016-02-05 17:34:22 -080097<?cs
98# Print the table cells for the inner classes
99?><?cs def:write_inners_summary(classes) ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800100<?cs set:count = #1 ?>
101 <?cs each:cl=class.inners ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800102 <tr class="api apilevel-<?cs var:cl.since ?>" >
103 <td class="jd-typecol"><code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800104 <?cs var:cl.scope ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800105 <?cs var:cl.static ?>
106 <?cs var:cl.final ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800107 <?cs var:cl.abstract ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800108 <?cs var:cl.kind ?></code></td>
Dirk Doughertyff233cc2015-05-04 14:37:05 -0700109 <td class="jd-descrcol" width="100%">
smain@google.coma0a6d322016-02-05 17:34:22 -0800110 <code><?cs call:type_link(cl.type) ?></code>
111 <p><?cs call:short_descr(cl) ?>&nbsp;
112 <?cs call:show_annotations_list(cl) ?></p>
Dirk Doughertyff233cc2015-05-04 14:37:05 -0700113 </td>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800114 </tr>
115 <?cs set:count = count + #1 ?>
116 <?cs /each ?>
117<?cs /def ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800118<?cs
119###################
120# END OF FUNCTIONS FOR API SUMMARY
121# START OF FUNCTIONS FOR THE API DETAILS
122###################
123?>
124<?cs
125# Print the table cells for the summary of constants
126?>
127<?cs def:write_field_details(fields) ?>
128<?cs each:field=fields ?>
129<?cs # this next line must be exactly like this to be parsed by eclipse ?>
130<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
131<A NAME="<?cs var:field.anchor ?>"></A>
132<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
133<div class="api apilevel-<?cs var:field.since ?>">
134 <h3 class="api-name"><?cs var:field.name ?></h3>
135 <div class="api-level">
136 <?cs call:since_tags(field) ?>
137 <?cs call:federated_refs(field) ?>
138 </div>
139<pre class="api-signature no-pretty-print">
140<?cs if:subcount(field.scope) ?><?cs var:field.scope
141?> <?cs /if ?><?cs if:subcount(field.static) ?><?cs var:field.static
142?> <?cs /if ?><?cs if:subcount(field.final) ?><?cs var:field.final
143?> <?cs /if ?><?cs if:subcount(field.type) ?><?cs call:type_link(field.type)
144?> <?cs /if ?><?cs var:field.name ?></pre>
145 <?cs call:show_annotations_list(field) ?>
146 <?cs call:description(field) ?>
147 <?cs if:subcount(field.constantValue) ?>
148 <p>Constant Value:
149 <?cs if:field.constantValue.isString ?>
150 <?cs var:field.constantValue.str ?>
151 <?cs else ?>
152 <?cs var:field.constantValue.dec ?>
153 (<?cs var:field.constantValue.hex ?>)
154 <?cs /if ?>
155 <?cs /if ?>
156</div>
157<?cs /each ?>
158<?cs /def ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800159
smain@google.coma0a6d322016-02-05 17:34:22 -0800160<?cs def:write_method_details(methods) ?>
161<?cs each:method=methods ?>
162<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
163<A NAME="<?cs var:method.anchor ?>"></A>
164<?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?>
165<div class="api apilevel-<?cs var:method.since ?>">
166 <h3 class="api-name"><?cs var:method.name ?></h3>
167 <div class="api-level">
168 <div><?cs call:since_tags(method) ?></div>
169 <?cs call:federated_refs(method) ?>
170 </div>
171<pre class="api-signature no-pretty-print">
172<?cs if:subcount(method.scope) ?><?cs var:method.scope
173?> <?cs /if ?><?cs if:subcount(method.static) ?><?cs var:method.static
174?> <?cs /if ?><?cs if:subcount(method.final) ?><?cs var:method.final
175?> <?cs /if ?><?cs if:subcount(method.abstract) ?><?cs var:method.abstract
176?> <?cs /if ?><?cs if:subcount(method.returnType) ?><?cs call:type_link(method.returnType)
177?> <?cs /if ?><?cs var:method.name ?> (<?cs call:parameter_list(method.params, 1) ?>)</pre>
178 <?cs call:show_annotations_list(method) ?>
179 <?cs call:description(method) ?>
180</div>
181<?cs /each ?>
182<?cs /def ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800183
smain@google.coma0a6d322016-02-05 17:34:22 -0800184<?cs def:write_attr_details(attrs) ?>
185<?cs each:attr=attrs ?>
186<?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?>
187<A NAME="<?cs var:attr.anchor ?>"></A>
188<h3 class="api-name"><?cs var:attr.name ?></h3>
189<?cs call:show_annotations_list(attr) ?>
190<?cs call:description(attr) ?>
191<?cs if:subcount(attr.methods) ?>
192 <p><b>Related methods:</b></p>
193 <ul class="nolist">
194 <?cs each:m=attr.methods ?>
195 <li><a href="<?cs var:toroot ?><?cs var:m.href ?>"><?cs var:m.name ?></a></li>
196 <?cs /each ?>
197 </ul>
198<?cs /if ?>
199<?cs /each ?>
200<?cs /def ?>
201<?cs
202#########################
203# END OF MACROS
204# START OF PAGE PRINTING
205#########################
206?>
207<?cs include:"doctype.cs" ?>
208<html<?cs if:devsite ?> devsite<?cs /if ?>>
209<?cs include:"head_tag.cs" ?>
210<?cs include:"body_tag.cs" ?>
211<?cs include:"header.cs" ?>
212<?cs include:"page_info.cs" ?>
213<?cs # This DIV spans the entire document to provide scope for some scripts ?>
214<div class="api apilevel-<?cs var:class.since ?>" id="jd-content">
215<?cs # this next line must be exactly like this to be parsed by eclipse ?>
216<!-- ======== START OF CLASS DATA ======== -->
217<?cs
218#
219# Page header with class name and signature
220#
221?>
222<h1 class="api-title"><?cs var:class.name ?></h1>
223<p>
224<code class="api-signature">
225 <?cs var:class.scope ?>
226 <?cs var:class.static ?>
227 <?cs var:class.final ?>
228 <?cs var:class.abstract ?>
229 <?cs var:class.kind ?>
230 <?cs var:class.name ?>
231</code>
232<br>
233<?cs set:colspan = subcount(class.inheritance) ?>
234<?cs each:supr = class.inheritance ?>
235<code class="api-signature">
236 <?cs if:colspan == 2 ?>
237 extends <?cs call:type_link(supr.short_class) ?>
238 <?cs /if ?>
239 <?cs if:last(supr) && subcount(supr.interfaces) ?>
240 implements
241 <?cs each:t=supr.interfaces ?>
242 <?cs call:type_link(t) ?><?cs
243 if: name(t)!=subcount(supr.interfaces)-1
244 ?>, <?cs /if ?>
245 <?cs /each ?>
246 <?cs /if ?>
247 <?cs set:colspan = colspan-1 ?>
248</code>
249<?cs /each ?>
250</p><?cs
251#
252# Class inheritance tree
253#
254?><table class="jd-inheritance-table">
255<?cs set:colspan = subcount(class.inheritance) ?>
256<?cs each:supr = class.inheritance ?>
257 <tr>
258 <?cs loop:i = 1, (subcount(class.inheritance)-colspan), 1 ?>
259 <td class="jd-inheritance-space">&nbsp;<?cs
260 if:(subcount(class.inheritance)-colspan) == i
261 ?>&nbsp;&nbsp;&#x21b3;<?cs
262 /if ?></td>
263 <?cs /loop ?>
264 <td colspan="<?cs var:colspan ?>" class="jd-inheritance-class-cell"><?cs
265 if:colspan == 1
266 ?><?cs call:class_name(class.qualifiedType) ?><?cs
267 else
268 ?><?cs call:type_link(supr.class) ?><?cs
269 /if ?>
270 </td>
271 </tr>
272 <?cs set:colspan = colspan-1 ?>
273<?cs /each ?>
274</table><?cs
275#
276# Collapsible list of subclasses
277#
278?><?cs
279if:subcount(class.subclasses.direct) && !class.subclasses.hidden ?>
280 <table class="jd-sumtable jd-sumtable-subclasses">
281 <tr><td style="border:none;margin:0;padding:0;">
282 <?cs call:expando_trigger("subclasses-direct", "closed") ?>Known Direct Subclasses
283 <?cs call:expandable_class_list("subclasses-direct", class.subclasses.direct, "list") ?>
284 </td></tr>
285 </table>
286 <?cs /if ?>
287 <?cs if:subcount(class.subclasses.indirect) && !class.subclasses.hidden ?>
288 <table class="jd-sumtable jd-sumtable-subclasses"><tr><td colspan="2" style="border:none;margin:0;padding:0;">
289 <?cs call:expando_trigger("subclasses-indirect", "closed") ?>Known Indirect Subclasses
290 <?cs call:expandable_class_list("subclasses-indirect", class.subclasses.indirect, "list") ?>
291 </td></tr></table><?cs
292/if ?>
293<?cs call:show_annotations_list(class) ?>
294<br><hr><?cs
295#
296# The long-form class description.
297#
298?><?cs call:deprecated_warning(class) ?>
299
300<?cs if:subcount(class.descr) ?>
301 <p><?cs call:tag_list(class.descr) ?></p>
302<?cs /if ?>
303
304<?cs call:see_also_tags(class.seeAlso) ?>
305<?cs
306#################
307# CLASS SUMMARY
308#################
309?>
310<?cs # make sure there is a summary view to display ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800311<?cs if:subcount(class.inners)
312 || subcount(class.attrs)
313 || inhattrs
314 || subcount(class.enumConstants)
315 || subcount(class.constants)
316 || inhconstants
317 || subcount(class.fields)
318 || inhfields
319 || subcount(class.ctors.public)
320 || subcount(class.ctors.protected)
321 || subcount(class.methods.public)
322 || subcount(class.methods.protected)
323 || inhmethods ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800324<h2 class="api-section">Summary</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800325
326<?cs if:subcount(class.inners) ?>
327<?cs # this next line must be exactly like this to be parsed by eclipse ?>
328<!-- ======== NESTED CLASS SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800329<table id="nestedclasses" class="responsive">
330<tr><th colspan="2"><h3>Nested classes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800331<?cs call:write_inners_summary(class.inners) ?>
332<?cs /if ?>
333
334<?cs # this next line must be exactly like this to be parsed by eclipse ?>
335<?cs if:subcount(class.attrs) ?>
336<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800337<table id="lattrs" class="responsive">
338<tr><th colspan="2"><h3>XML attributes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800339<?cs call:write_attr_summary(class.attrs, 1) ?>
340<?cs /if ?>
341
342<?cs # if there are inherited attrs, write the table ?>
343<?cs if:inhattrs ?>
344<?cs # this next line must be exactly like this to be parsed by eclipse ?>
345<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800346<table id="inhattrs" class="responsive inhtable">
347<tr><th><h3>Inherited XML attributes</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800348<?cs each:cl=class.inherited ?>
349<?cs if:subcount(cl.attrs) ?>
350<tr class="api apilevel-<?cs var:cl.since ?>" >
smain@google.coma0a6d322016-02-05 17:34:22 -0800351<td colspan="2">
352<?cs call:expando_trigger("inherited-attrs-"+cl.qualified, "closed") ?>From
353<?cs var:cl.kind ?>
354<code>
355 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
356</code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800357<div id="inherited-attrs-<?cs var:cl.qualified ?>">
358 <div id="inherited-attrs-<?cs var:cl.qualified ?>-list"
359 class="jd-inheritedlinks">
360 </div>
361 <div id="inherited-attrs-<?cs var:cl.qualified ?>-summary" style="display: none;">
362 <table class="jd-sumtable-expando">
363 <?cs call:write_attr_summary(cl.attrs, cl.included) ?></table>
364 </div>
365</div>
366</td></tr>
367<?cs /if ?>
368<?cs /each ?>
369</table>
370<?cs /if ?>
371
372<?cs if:subcount(class.enumConstants) ?>
373<?cs # this next line must be exactly like this to be parsed by eclipse ?>
374<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800375<table id="enumconstants" class="responsive constants">
376 <tr><th colspan="2"><h3>Enum values</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800377<?cs set:count = #1 ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800378 <?cs each:field=class.enumConstants ?>
379 <tr class="api apilevel-<?cs var:field.since ?>" >
380 <td><code><?cs call:type_link(field.type) ?></code>&nbsp;</td>
381 <td width="100%">
382 <code><?cs call:cond_link(field.name, toroot, field.href, cl.included) ?></code>
383 <p><?cs call:short_descr(field) ?>&nbsp;
384 <?cs call:show_annotations_list(field) ?></p>
385 </td>
386 </tr>
387 <?cs set:count = count + #1 ?>
388 <?cs /each ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800389<?cs /if ?>
390
391<?cs if:subcount(class.constants) ?>
392<?cs # this next line must be exactly like this to be parsed by eclipse ?>
393<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800394<table id="constants" class="responsive constants">
395<tr><th colspan="2"><h3>Constants</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800396<?cs call:write_constant_summary(class.constants, 1) ?>
397</table>
398<?cs /if ?>
399
400<?cs # if there are inherited constants, write the table ?>
401<?cs if:inhconstants ?>
402<?cs # this next line must be exactly like this to be parsed by eclipse ?>
403<!-- =========== ENUM CONSTANT SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800404<table id="inhconstants" class="responsive constants inhtable">
405<tr><th><h3>Inherited constants</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800406<?cs each:cl=class.inherited ?>
407<?cs if:subcount(cl.constants) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800408 <tr class="api apilevel-<?cs var:cl.since ?>" >
409 <td>
410 <?cs call:expando_trigger("inherited-constants-"+cl.qualified, "closed") ?>From
411 <?cs var:cl.kind ?>
412 <code>
413 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
414 </code>
415 <div id="inherited-constants-<?cs var:cl.qualified ?>">
416 <div id="inherited-constants-<?cs var:cl.qualified ?>-list"
417 class="jd-inheritedlinks">
418 </div>
419 <div id="inherited-constants-<?cs var:cl.qualified ?>-summary" style="display: none;">
420 <table class="jd-sumtable-expando responsive">
421 <?cs call:write_constant_summary(cl.constants, cl.included) ?></table>
422 </div>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800423 </div>
smain@google.coma0a6d322016-02-05 17:34:22 -0800424 </td></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800425<?cs /if ?>
426<?cs /each ?>
427</table>
428<?cs /if ?>
429
430<?cs if:subcount(class.fields) ?>
431<?cs # this next line must be exactly like this to be parsed by eclipse ?>
432<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800433<table id="lfields" class="responsive properties">
434<tr><th colspan="2"><h3>Fields</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800435<?cs call:write_field_summary(class.fields, 1) ?>
436</table>
437<?cs /if ?>
438
439<?cs # if there are inherited fields, write the table ?>
440<?cs if:inhfields ?>
441<?cs # this next line must be exactly like this to be parsed by eclipse ?>
442<!-- =========== FIELD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800443<table id="inhfields" class="properties inhtable">
444<tr><th><h3>Inherited fields</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800445<?cs each:cl=class.inherited ?>
446<?cs if:subcount(cl.fields) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800447 <tr class="api apilevel-<?cs var:cl.since ?>" >
448 <td>
449 <?cs call:expando_trigger("inherited-fields-"+cl.qualified, "closed") ?>From
450 <?cs var:cl.kind ?>
451 <code>
452 <?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?>
453 </code>
454 <div id="inherited-fields-<?cs var:cl.qualified ?>">
455 <div id="inherited-fields-<?cs var:cl.qualified ?>-list"
456 class="jd-inheritedlinks">
457 </div>
458 <div id="inherited-fields-<?cs var:cl.qualified ?>-summary" style="display: none;">
459 <table class="jd-sumtable-expando responsive">
460 <?cs call:write_field_summary(cl.fields, cl.included) ?></table>
461 </div>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800462 </div>
smain@google.coma0a6d322016-02-05 17:34:22 -0800463 </td></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800464<?cs /if ?>
465<?cs /each ?>
466</table>
467<?cs /if ?>
468
469<?cs if:subcount(class.ctors.public) ?>
470<?cs # this next line must be exactly like this to be parsed by eclipse ?>
471<!-- ======== CONSTRUCTOR SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800472<table id="pubctors" class="responsive constructors">
473<tr><th colspan="2"><h3>Public constructors</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800474<?cs call:write_method_summary(class.ctors.public, 1) ?>
475</table>
476<?cs /if ?>
477
478<?cs if:subcount(class.ctors.protected) ?>
479<?cs # this next line must be exactly like this to be parsed by eclipse ?>
480<!-- ======== CONSTRUCTOR SUMMARY ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800481<table id="proctors" class="responsive constructors">
482<tr><th colspan="2"><h3>Protected constructors</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800483<?cs call:write_method_summary(class.ctors.protected, 1) ?>
484</table>
485<?cs /if ?>
486
487<?cs if:subcount(class.methods.public) ?>
488<?cs # this next line must be exactly like this to be parsed by eclipse ?>
489<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800490<table id="pubmethods" class="responsive methods">
491<tr><th colspan="2"><h3>Public methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800492<?cs call:write_method_summary(class.methods.public, 1) ?>
493</table>
494<?cs /if ?>
495
496<?cs if:subcount(class.methods.protected) ?>
497<?cs # this next line must be exactly like this to be parsed by eclipse ?>
498<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800499<table id="promethods" class="reponsive methods">
500<tr><th colspan="2"><h3>Protected methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800501<?cs call:write_method_summary(class.methods.protected, 1) ?>
502</table>
503<?cs /if ?>
504
505<?cs # if there are inherited methods, write the table ?>
506<?cs if:inhmethods ?>
507<?cs # this next line must be exactly like this to be parsed by eclipse ?>
508<!-- ========== METHOD SUMMARY =========== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800509<table id="inhmethods" class="methods inhtable">
510<tr><th><h3>Inherited methods</h3></th></tr>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800511<?cs each:cl=class.inherited ?>
512<?cs if:subcount(cl.methods) ?>
513<tr class="api apilevel-<?cs var:cl.since ?>" >
smain@google.coma0a6d322016-02-05 17:34:22 -0800514<td colspan="2">
515<?cs call:expando_trigger("inherited-methods-"+cl.qualified, "closed") ?>From
516<?cs var:cl.kind ?>
517<code>
518 <?cs if:cl.included ?>
519 <a href="<?cs var:toroot ?><?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
520 <?cs elif:cl.federated ?>
521 <a href="<?cs var:cl.link ?>"><?cs var:cl.qualified ?></a>
522 <?cs else ?>
523 <?cs var:cl.qualified ?>
524 <?cs /if ?>
525</code>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800526<div id="inherited-methods-<?cs var:cl.qualified ?>">
527 <div id="inherited-methods-<?cs var:cl.qualified ?>-list"
528 class="jd-inheritedlinks">
529 </div>
530 <div id="inherited-methods-<?cs var:cl.qualified ?>-summary" style="display: none;">
smain@google.coma0a6d322016-02-05 17:34:22 -0800531 <table class="jd-sumtable-expando responsive">
532 <?cs call:write_method_summary(cl.methods, cl.included) ?>
533 </table>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800534 </div>
535</div>
536</td></tr>
537<?cs /if ?>
538<?cs /each ?>
539</table>
540<?cs /if ?>
541<?cs /if ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800542<?cs
543################
544# CLASS DETAILS
545################
546?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800547<!-- XML Attributes -->
548<?cs if:subcount(class.attrs) ?>
549<?cs # this next line must be exactly like this to be parsed by eclipse ?>
550<!-- ========= FIELD DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800551<h2 class="api-section">XML attributes</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800552<?cs call:write_attr_details(class.attrs) ?>
553<?cs /if ?>
554
555<!-- Enum Values -->
556<?cs if:subcount(class.enumConstants) ?>
557<?cs # this next line must be exactly like this to be parsed by eclipse ?>
558<!-- ========= ENUM CONSTANTS DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800559<h2 class="api-section">Enum values</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800560<?cs call:write_field_details(class.enumConstants) ?>
561<?cs /if ?>
562
563<!-- Constants -->
564<?cs if:subcount(class.constants) ?>
565<?cs # this next line must be exactly like this to be parsed by eclipse ?>
566<!-- ========= ENUM CONSTANTS DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800567<h2 class="api-section">Constants</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800568<?cs call:write_field_details(class.constants) ?>
569<?cs /if ?>
570
571<!-- Fields -->
572<?cs if:subcount(class.fields) ?>
573<?cs # this next line must be exactly like this to be parsed by eclipse ?>
574<!-- ========= FIELD DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800575<h2 class="api-section">Fields</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800576<?cs call:write_field_details(class.fields) ?>
577<?cs /if ?>
578
579<!-- Public ctors -->
580<?cs if:subcount(class.ctors.public) ?>
581<?cs # this next line must be exactly like this to be parsed by eclipse ?>
582<!-- ========= CONSTRUCTOR DETAIL ======== -->
smain@google.coma0a6d322016-02-05 17:34:22 -0800583<h2 class="api-section">Public constructors</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800584<?cs call:write_method_details(class.ctors.public) ?>
585<?cs /if ?>
586
587<?cs # this next line must be exactly like this to be parsed by eclipse ?>
588<!-- ========= CONSTRUCTOR DETAIL ======== -->
589<!-- Protected ctors -->
590<?cs if:subcount(class.ctors.protected) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800591<h2 class="api-section">Protected constructors</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800592<?cs call:write_method_details(class.ctors.protected) ?>
593<?cs /if ?>
594
595<?cs # this next line must be exactly like this to be parsed by eclipse ?>
596<!-- ========= METHOD DETAIL ======== -->
597<!-- Public methdos -->
598<?cs if:subcount(class.methods.public) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800599<h2 class="api-section">Public methods</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800600<?cs call:write_method_details(class.methods.public) ?>
601<?cs /if ?>
602
603<?cs # this next line must be exactly like this to be parsed by eclipse ?>
604<!-- ========= METHOD DETAIL ======== -->
605<?cs if:subcount(class.methods.protected) ?>
smain@google.coma0a6d322016-02-05 17:34:22 -0800606<h2 class="api-section">Protected methods</h2>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800607<?cs call:write_method_details(class.methods.protected) ?>
608<?cs /if ?>
609
610<?cs # the next two lines must be exactly like this to be parsed by eclipse ?>
611<!-- ========= END OF CLASS DATA ========= -->
Dirk Dougherty541b4942014-02-14 18:31:53 -0800612
smain@google.coma0a6d322016-02-05 17:34:22 -0800613</div><!-- end jd-content -->
Amanda Kassaye4a8ab12016-03-29 16:11:01 -0400614<?cs if:!devsite ?>
Dirk Dougherty0dc81b92015-12-08 14:49:52 -0800615<?cs include:"footer.cs" ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800616<?cs include:"trailer.cs" ?>
Amanda Kassaye4a8ab12016-03-29 16:11:01 -0400617<?cs /if ?>
Dirk Dougherty541b4942014-02-14 18:31:53 -0800618</body>
619</html>