<?cs # THIS CREATES A CLASS OR INTERFACE PAGE FROM .java FILES ?> <?cs include:"macros.cs" ?> <?cs include:"macros_override.cs" ?> <?cs #################### # MACRO FUNCTION USED ONLY IN THIS TEMPLATE TO GENERATE API REFERENCE # FIRST, THE FUNCTIONS FOR THE SUMMARY AT THE TOP OF THE PAGE #################### ?> <?cs # Prints the table cells for the summary of methods. ?><?cs def:write_method_summary(methods, included) ?> <?cs set:count = #1 ?> <?cs each:method = methods ?> <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?> <tr class="api apilevel-<?cs var:method.since ?>"<?cs if:method.since ?> data-version-added="<?cs var:method.since ?>"<?cs /if ?><?cs if:method.deprecatedsince ?> data-version-deprecated="<?cs var:method.deprecatedsince ?>"<?cs /if ?> > <?cs # leave out this cell if there is no return type = if constructors ?> <?cs if:subcount(method.returnType) ?> <td><code> <?cs var:method.abstract ?> <?cs var:method.default ?> <?cs var:method.static ?> <?cs var:method.final ?> <?cs call:type_link(method.generic) ?> <?cs call:type_link(method.returnType) ?></code> </td> <?cs /if ?> <td width="100%"> <code> <?cs call:cond_link(method.name, toroot, method.href, included) ?>(<?cs call:parameter_list(method.params, 0) ?>) </code> <?cs if:subcount(method.shortDescr) || subcount(method.deprecated) ?> <p><?cs call:short_descr(method) ?> <?cs call:show_annotations_list(method) ?></p> <?cs /if ?> </td> </tr> <?cs set:count = count + #1 ?> <?cs /each ?> <?cs /def ?> <?cs # Print the table cells for the summary of fields. ?><?cs def:write_field_summary(fields, included) ?> <?cs set:count = #1 ?> <?cs each:field=fields ?> <tr class="api apilevel-<?cs var:field.since ?>"<?cs if:field.since ?> data-version-added="<?cs var:field.since ?>"<?cs /if ?><?cs if:field.deprecatedsince ?> data-version-deprecated="<?cs var:field.deprecatedsince ?>"<?cs /if ?> > <td><code> <?cs var:field.scope ?> <?cs var:field.static ?> <?cs var:field.final ?> <?cs call:type_link(field.type) ?></code></td> <td width="100%"> <code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code> <p><?cs call:short_descr(field) ?> <?cs call:show_annotations_list(field) ?></p> </td> </tr> <?cs set:count = count + #1 ?> <?cs /each ?> <?cs /def ?> <?cs # Print the table cells for the summary of constants ?><?cs def:write_constant_summary(fields, included) ?> <?cs set:count = #1 ?> <?cs each:field=fields ?> <tr class="api apilevel-<?cs var:field.since ?>"<?cs if:field.since ?> data-version-added="<?cs var:field.since ?>"<?cs /if ?><?cs if:field.deprecatedsince ?> data-version-deprecated="<?cs var:field.deprecatedsince ?>"<?cs /if ?> > <td><code><?cs call:type_link(field.type) ?></code></td> <td width="100%"> <code><?cs call:cond_link(field.name, toroot, field.href, included) ?></code> <p><?cs call:short_descr(field) ?> <?cs call:show_annotations_list(field) ?></p> </td> </tr> <?cs set:count = count + #1 ?> <?cs /each ?> <?cs /def ?> <?cs # Print the table cells for the summary of attributes ?><?cs def:write_attr_summary(attrs, included) ?> <?cs set:count = #1 ?> <?cs each:attr=attrs ?> <tr class="api apilevel-<?cs var:attr.since ?>"<?cs if:attr.since ?> data-version-added="<?cs var:attr.since ?>"<?cs /if ?><?cs if:attr.deprecatedsince ?> data-version-deprecated="<?cs var:attr.deprecatedsince ?>"<?cs /if ?> > <td><?cs if:included ?><a href="<?cs var:toroot ?><?cs var:attr.href ?>"><?cs /if ?><code><?cs var:attr.name ?></code><?cs if:included ?></a><?cs /if ?></td> <td width="100%"> <?cs call:short_descr(attr) ?> <?cs call:show_annotations_list(attr) ?> </td> </tr> <?cs set:count = count + #1 ?> <?cs /each ?> <?cs /def ?> <?cs # Print the table cells for the inner classes ?><?cs def:write_inners_summary(classes) ?> <?cs set:count = #1 ?> <?cs each:cl=class.inners ?> <tr class="api apilevel-<?cs var:cl.since ?>"<?cs if:cl.since ?> data-version-added="<?cs var:cl.since ?>"<?cs /if ?><?cs if:cl.deprecatedsince ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs /if ?> > <td class="jd-typecol"><code> <?cs var:cl.scope ?> <?cs var:cl.static ?> <?cs var:cl.final ?> <?cs var:cl.abstract ?> <?cs var:cl.kind ?></code></td> <td class="jd-descrcol" width="100%"> <code><?cs call:type_link(cl.type) ?></code> <p><?cs call:short_descr(cl) ?> <?cs call:show_annotations_list(cl) ?></p> </td> </tr> <?cs set:count = count + #1 ?> <?cs /each ?> <?cs /def ?> <?cs ################### # END OF FUNCTIONS FOR API SUMMARY # START OF FUNCTIONS FOR THE API DETAILS ################### ?> <?cs # Print the table cells for the summary of constants ?> <?cs def:write_field_details(fields) ?> <?cs each:field=fields ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?> <A NAME="<?cs var:field.anchor ?>"></A> <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?> <div class="api apilevel-<?cs var:field.since ?>"<?cs if:field.since ?> data-version-added="<?cs var:field.since ?>"<?cs /if ?><?cs if:field.deprecatedsince ?> data-version-deprecated="<?cs var:field.deprecatedsince ?>"<?cs /if ?> > <h3 class="api-name"><?cs var:field.name ?></h3> <div class="api-level"> <?cs call:since_tags(field) ?> <?cs call:federated_refs(field) ?> </div> <pre class="api-signature no-pretty-print"> <?cs if:string.length(field.scope) ?><?cs var:field.scope ?> <?cs /if ?><?cs if:string.length(field.static) ?><?cs var:field.static ?> <?cs /if ?><?cs if:string.length(field.final) ?><?cs var:field.final ?> <?cs /if ?><?cs if:subcount(field.type) ?><?cs call:type_link(field.type) ?> <?cs /if ?><?cs var:field.name ?></pre> <?cs call:show_annotations_list(field) ?> <?cs call:description(field) ?> <?cs if:subcount(field.constantValue) ?> <p>Constant Value: <?cs if:field.constantValue.isString ?> <?cs var:field.constantValue.str ?> <?cs else ?> <?cs var:field.constantValue.dec ?> (<?cs var:field.constantValue.hex ?>) <?cs /if ?> <?cs /if ?> </div> <?cs /each ?> <?cs /def ?> <?cs def:write_method_details(methods) ?> <?cs each:method=methods ?> <?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?> <A NAME="<?cs var:method.anchor ?>"></A> <?cs # The apilevel-N class MUST BE LAST in the sequence of class names ?> <div class="api apilevel-<?cs var:method.since ?>"<?cs if:method.since ?> data-version-added="<?cs var:method.since ?>"<?cs /if ?><?cs if:method.deprecatedsince ?> data-version-deprecated="<?cs var:method.deprecatedsince ?>"<?cs /if ?>> <h3 class="api-name"><?cs var:method.name ?></h3> <div class="api-level"> <div><?cs call:since_tags(method) ?></div> <?cs call:federated_refs(method) ?> </div> <pre class="api-signature no-pretty-print"> <?cs if:string.length(method.scope) ?><?cs var:method.scope ?> <?cs /if ?><?cs if:string.length(method.static) ?><?cs var:method.static ?> <?cs /if ?><?cs if:string.length(method.final) ?><?cs var:method.final ?> <?cs /if ?><?cs if:string.length(method.abstract) ?><?cs var:method.abstract ?> <?cs /if ?><?cs if:subcount(method.returnType) ?><?cs call:type_link(method.returnType) ?> <?cs /if ?><?cs var:method.name ?> (<?cs call:parameter_list(method.params, 1) ?>)</pre> <?cs call:show_annotations_list(method) ?> <?cs call:description(method) ?> </div> <?cs /each ?> <?cs /def ?> <?cs def:write_attr_details(attrs) ?> <?cs each:attr=attrs ?> <?cs # the A tag in the next line must remain where it is, so that Eclipse can parse the docs ?> <A NAME="<?cs var:attr.anchor ?>"></A> <h3 class="api-name"><?cs var:attr.name ?></h3> <?cs call:show_annotations_list(attr) ?> <?cs call:description(attr) ?> <?cs if:subcount(attr.methods) ?> <p><b>Related methods:</b></p> <ul class="nolist"> <?cs each:m=attr.methods ?> <li><code><a href="<?cs var:toroot ?><?cs var:m.href ?>"><?cs var:m.name ?></a></code></li> <?cs /each ?> </ul> <?cs /if ?> <?cs /each ?> <?cs /def ?> <?cs ######################### # END OF MACROS # START OF PAGE PRINTING ######################### ?> <?cs include:"doctype.cs" ?> <html<?cs if:devsite ?> devsite<?cs /if ?>> <?cs include:"head_tag.cs" ?> <?cs include:"body_tag.cs" ?> <div itemscope itemtype="http://developers.google.com/ReferenceObject"> <!-- This DIV closes at the end of the BODY --> <meta itemprop="name" content="<?cs var:class.qualifiedType.label ?>" /> <?cs if:(dac&&class.artifact) ?><meta itemprop="path" content="<?cs if:class.deprecatedsince ?>Deprecated<?cs else ?>Support Library<?cs /if ?>" /><?cs elif:(dac&&class.since) ?><meta itemprop="path" content="<?cs if:class.deprecatedsince ?>Deprecated<?cs else ?>API level <?cs var:class.since ?><?cs /if ?>" /><?cs /if ?> <?cs include:"header.cs" ?> <?cs # Includes api-info-block DIV at top of page. Standard Devsite uses right nav. ?> <?cs if:dac ?><?cs include:"page_info.cs" ?><?cs /if ?> <?cs # This DIV spans the entire document to provide scope for some scripts ?> <div class="api apilevel-<?cs var:class.since ?>" id="jd-content"<?cs if:class.since ?> data-version-added="<?cs var:class.since ?>"<?cs /if ?><?cs if:class.deprecatedsince ?> data-version-deprecated="<?cs var:class.deprecatedsince ?>"<?cs /if ?> > <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ======== START OF CLASS DATA ======== --> <?cs # # Page header with class name and signature # ?> <h1 class="api-title"><?cs var:class.name ?></h1> <p> <code class="api-signature"> <?cs var:class.scope ?> <?cs var:class.static ?> <?cs var:class.final ?> <?cs var:class.abstract ?> <?cs var:class.kind ?> <?cs var:class.name ?> </code> <br> <?cs set:colspan = subcount(class.inheritance) ?> <?cs each:supr = class.inheritance ?> <code class="api-signature"> <?cs if:colspan == 2 ?> extends <?cs call:type_link(supr.short_class) ?> <?cs /if ?> <?cs if:last(supr) && subcount(supr.interfaces) ?> implements <?cs each:t=supr.interfaces ?> <?cs call:type_link(t) ?><?cs if: name(t)!=subcount(supr.interfaces)-1 ?>, <?cs /if ?> <?cs /each ?> <?cs /if ?> <?cs set:colspan = colspan-1 ?> </code> <?cs /each ?> </p><?cs # # Class inheritance tree # ?><table class="jd-inheritance-table"> <?cs set:colspan = subcount(class.inheritance) ?> <?cs each:supr = class.inheritance ?> <tr> <?cs loop:i = 1, (subcount(class.inheritance)-colspan), 1 ?> <td class="jd-inheritance-space"> <?cs if:(subcount(class.inheritance)-colspan) == i ?> ↳<?cs /if ?></td> <?cs /loop ?> <td colspan="<?cs var:colspan ?>" class="jd-inheritance-class-cell"><?cs if:colspan == 1 ?><?cs call:class_name(class.qualifiedType) ?><?cs else ?><?cs call:type_link(supr.class) ?><?cs /if ?> </td> </tr> <?cs set:colspan = colspan-1 ?> <?cs /each ?> </table><?cs # # Collapsible list of subclasses # ?><?cs if:subcount(class.subclasses.direct) && !class.subclasses.hidden ?> <table class="jd-sumtable jd-sumtable-subclasses"> <tr> <td> <div class="expandable"> <span class="expand-control">Known direct subclasses</span> <?cs call:expandable_class_list("subclasses-direct", class.subclasses.direct, "list") ?> </div> </td> </tr> </table> <?cs /if ?> <?cs if:subcount(class.subclasses.indirect) && !class.subclasses.hidden ?> <table class="jd-sumtable jd-sumtable-subclasses"> <tr> <td> <div class="expandable"> <span class="expand-control">Known indirect subclasses</span> <?cs call:expandable_class_list("subclasses-indirect", class.subclasses.indirect, "list") ?> </div> </td> </tr> </table><?cs /if ?> <?cs call:show_annotations_list(class) ?> <br><hr><?cs # # The long-form class description. # ?><?cs call:deprecated_warning(class) ?> <?cs if:subcount(class.descr) ?> <p><?cs call:tag_list(class.descr) ?></p> <?cs /if ?> <?cs if:subcount(class.descrAux) ?> <?cs call:aux_tag_list(class.descrAux) ?> <?cs /if ?> <?cs call:see_also_tags(class.seeAlso) ?> <?cs ################# # CLASS SUMMARY ################# ?> <?cs # make sure there is a summary view to display ?> <?cs if:subcount(class.inners) || subcount(class.attrs) || inhattrs || subcount(class.enumConstants) || subcount(class.constants) || inhconstants || subcount(class.fields) || inhfields || subcount(class.ctors.public) || subcount(class.ctors.protected) || subcount(class.methods.public) || subcount(class.methods.protected) || inhmethods ?> <h2 class="api-section">Summary</h2> <?cs if:subcount(class.inners) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ======== NESTED CLASS SUMMARY ======== --> <table id="nestedclasses" class="responsive"> <tr><th colspan="2"><h3>Nested classes</h3></th></tr> <?cs call:write_inners_summary(class.inners) ?> <?cs /if ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <?cs if:subcount(class.attrs) ?> <!-- =========== FIELD SUMMARY =========== --> <table id="lattrs" class="responsive"> <tr><th colspan="2"><h3>XML attributes</h3></th></tr> <?cs call:write_attr_summary(class.attrs, 1) ?> <?cs /if ?> <?cs # if there are inherited attrs, write the table ?> <?cs if:inhattrs ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- =========== FIELD SUMMARY =========== --> <table id="inhattrs" class="responsive inhtable"> <tr><th><h3>Inherited XML attributes</h3></th></tr> <?cs each:cl=class.inherited ?> <?cs if:subcount(cl.attrs) ?> <tr class="api apilevel-<?cs var:cl.since ?>"<?cs if:cl.since ?> data-version-added="<?cs var:cl.since ?>"<?cs /if ?><?cs if:cl.deprecatedsince ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs /if ?> > <td colspan="2"> <div class="expandable jd-inherited-apis"> <span class="expand-control">From <?cs var:cl.kind ?> <code><?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?></code> </span> <table class="responsive"> <?cs call:write_attr_summary(cl.attrs, cl.included) ?> </table> </div> </td></tr> <?cs /if ?> <?cs /each ?> </table> <?cs /if ?> <?cs if:subcount(class.enumConstants) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- =========== ENUM CONSTANT SUMMARY =========== --> <table id="enumconstants" class="responsive constants"> <tr><th colspan="2"><h3>Enum values</h3></th></tr> <?cs set:count = #1 ?> <?cs each:field=class.enumConstants ?> <tr class="api apilevel-<?cs var:field.since ?>"<?cs if:field.since ?> data-version-added="<?cs var:field.since ?>"<?cs /if ?><?cs if:field.deprecatedsince ?> data-version-deprecated="<?cs var:field.deprecatedsince ?>"<?cs /if ?> > <td><code><?cs call:type_link(field.type) ?></code> </td> <td width="100%"> <code><?cs call:cond_link(field.name, toroot, field.href, cl.included) ?></code> <p><?cs call:short_descr(field) ?> <?cs call:show_annotations_list(field) ?></p> </td> </tr> <?cs set:count = count + #1 ?> <?cs /each ?> <?cs /if ?> <?cs if:subcount(class.constants) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- =========== ENUM CONSTANT SUMMARY =========== --> <table id="constants" class="responsive constants"> <tr><th colspan="2"><h3>Constants</h3></th></tr> <?cs call:write_constant_summary(class.constants, 1) ?> </table> <?cs /if ?> <?cs # if there are inherited constants, write the table ?> <?cs if:inhconstants ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- =========== ENUM CONSTANT SUMMARY =========== --> <table id="inhconstants" class="responsive constants inhtable"> <tr><th><h3>Inherited constants</h3></th></tr> <?cs each:cl=class.inherited ?> <?cs if:subcount(cl.constants) ?> <tr class="api apilevel-<?cs var:cl.since ?>"<?cs if:cl.since ?> data-version-added="<?cs var:cl.since ?>"<?cs /if ?><?cs if:cl.deprecatedsince ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs /if ?> > <td> <div class="expandable jd-inherited-apis"> <span class="expand-control">From <?cs var:cl.kind ?> <code><?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?></code> </span> <table class="responsive"> <?cs call:write_constant_summary(cl.constants, cl.included) ?> </table> </div> </td></tr> <?cs /if ?> <?cs /each ?> </table> <?cs /if ?> <?cs if:subcount(class.fields) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- =========== FIELD SUMMARY =========== --> <table id="lfields" class="responsive properties"> <tr><th colspan="2"><h3>Fields</h3></th></tr> <?cs call:write_field_summary(class.fields, 1) ?> </table> <?cs /if ?> <?cs # if there are inherited fields, write the table ?> <?cs if:inhfields ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- =========== FIELD SUMMARY =========== --> <table id="inhfields" class="responsive properties inhtable"> <tr><th><h3>Inherited fields</h3></th></tr> <?cs each:cl=class.inherited ?> <?cs if:subcount(cl.fields) ?> <tr class="api apilevel-<?cs var:cl.since ?>"<?cs if:cl.since ?> data-version-added="<?cs var:cl.since ?>"<?cs /if ?><?cs if:cl.deprecatedsince ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs /if ?> > <td> <div class="expandable jd-inherited-apis"> <span class="expand-control">From <?cs var:cl.kind ?> <code><?cs call:cond_link(cl.qualified, toroot, cl.link, cl.included) ?></code> </span> <table class="responsive"> <?cs call:write_field_summary(cl.fields, cl.included) ?> </table> </div> </td></tr> <?cs /if ?> <?cs /each ?> </table> <?cs /if ?> <?cs if:subcount(class.ctors.public) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <table id="pubctors" class="responsive constructors"> <tr><th colspan="2"><h3>Public constructors</h3></th></tr> <?cs call:write_method_summary(class.ctors.public, 1) ?> </table> <?cs /if ?> <?cs if:subcount(class.ctors.protected) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <table id="proctors" class="responsive constructors"> <tr><th colspan="2"><h3>Protected constructors</h3></th></tr> <?cs call:write_method_summary(class.ctors.protected, 1) ?> </table> <?cs /if ?> <?cs if:subcount(class.methods.public) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========== METHOD SUMMARY =========== --> <table id="pubmethods" class="responsive methods"> <tr><th colspan="2"><h3>Public methods</h3></th></tr> <?cs call:write_method_summary(class.methods.public, 1) ?> </table> <?cs /if ?> <?cs if:subcount(class.methods.protected) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========== METHOD SUMMARY =========== --> <table id="promethods" class="reponsive methods"> <tr><th colspan="2"><h3>Protected methods</h3></th></tr> <?cs call:write_method_summary(class.methods.protected, 1) ?> </table> <?cs /if ?> <?cs # if there are inherited methods, write the table ?> <?cs if:inhmethods ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========== METHOD SUMMARY =========== --> <table id="inhmethods" class="responsive methods inhtable"> <tr><th><h3>Inherited methods</h3></th></tr> <?cs each:cl=class.inherited ?> <?cs if:subcount(cl.methods) ?> <tr class="api apilevel-<?cs var:cl.since ?>"<?cs if:cl.since ?> data-version-added="<?cs var:cl.since ?>"<?cs /if ?><?cs if:cl.deprecatedsince ?> data-version-deprecated="<?cs var:cl.deprecatedsince ?>"<?cs /if ?> > <td colspan="2"> <div class="expandable jd-inherited-apis"> <span class="expand-control">From <?cs var:cl.kind ?> <code> <?cs if:cl.included ?> <a href="<?cs var:toroot ?><?cs var:cl.link ?>"><?cs var:cl.qualified ?></a> <?cs elif:cl.federated ?> <a href="<?cs var:cl.link ?>"><?cs var:cl.qualified ?></a> <?cs else ?> <?cs var:cl.qualified ?> <?cs /if ?> </code> </span> <table class="responsive"> <?cs call:write_method_summary(cl.methods, cl.included) ?> </table> </div> </td></tr> <?cs /if ?> <?cs /each ?> </table> <?cs /if ?> <?cs /if ?> <?cs ################ # CLASS DETAILS ################ ?> <!-- XML Attributes --> <?cs if:subcount(class.attrs) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========= FIELD DETAIL ======== --> <h2 class="api-section">XML attributes</h2> <?cs call:write_attr_details(class.attrs) ?> <?cs /if ?> <!-- Enum Values --> <?cs if:subcount(class.enumConstants) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========= ENUM CONSTANTS DETAIL ======== --> <h2 class="api-section">Enum values</h2> <?cs call:write_field_details(class.enumConstants) ?> <?cs /if ?> <!-- Constants --> <?cs if:subcount(class.constants) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========= ENUM CONSTANTS DETAIL ======== --> <h2 class="api-section">Constants</h2> <?cs call:write_field_details(class.constants) ?> <?cs /if ?> <!-- Fields --> <?cs if:subcount(class.fields) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========= FIELD DETAIL ======== --> <h2 class="api-section">Fields</h2> <?cs call:write_field_details(class.fields) ?> <?cs /if ?> <!-- Public ctors --> <?cs if:subcount(class.ctors.public) ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========= CONSTRUCTOR DETAIL ======== --> <h2 class="api-section">Public constructors</h2> <?cs call:write_method_details(class.ctors.public) ?> <?cs /if ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========= CONSTRUCTOR DETAIL ======== --> <!-- Protected ctors --> <?cs if:subcount(class.ctors.protected) ?> <h2 class="api-section">Protected constructors</h2> <?cs call:write_method_details(class.ctors.protected) ?> <?cs /if ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========= METHOD DETAIL ======== --> <!-- Public methdos --> <?cs if:subcount(class.methods.public) ?> <h2 class="api-section">Public methods</h2> <?cs call:write_method_details(class.methods.public) ?> <?cs /if ?> <?cs # this next line must be exactly like this to be parsed by eclipse ?> <!-- ========= METHOD DETAIL ======== --> <?cs if:subcount(class.methods.protected) ?> <h2 class="api-section">Protected methods</h2> <?cs call:write_method_details(class.methods.protected) ?> <?cs /if ?> <?cs # the next two lines must be exactly like this to be parsed by eclipse ?> <!-- ========= END OF CLASS DATA ========= --> </div><!-- end jd-content --> <?cs if:devsite ?> <div class="data-reference-resources-wrapper"> <?cs if:subcount(class.package) ?> <ul data-reference-resources> <?cs call:list("Annotations", class.package.annotations) ?> <?cs call:list("Interfaces", class.package.interfaces) ?> <?cs call:list("Classes", class.package.classes) ?> <?cs call:list("Enums", class.package.enums) ?> <?cs call:list("Exceptions", class.package.exceptions) ?> <?cs call:list("Errors", class.package.errors) ?> </ul> <?cs elif:subcount(package) ?> <ul data-reference-resources> <?cs call:class_link_list("Annotations", package.annotations) ?> <?cs call:class_link_list("Interfaces", package.interfaces) ?> <?cs call:class_link_list("Classes", package.classes) ?> <?cs call:class_link_list("Enums", package.enums) ?> <?cs call:class_link_list("Exceptions", package.exceptions) ?> <?cs call:class_link_list("Errors", package.errors) ?> </ul> <?cs /if ?> </div> <?cs /if ?> <?cs if:!devsite ?> <?cs include:"footer.cs" ?> <?cs include:"trailer.cs" ?> <?cs /if ?> </div><!-- end devsite ReferenceObject --> </body> </html>