1920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # A link to a package ?><?cs
2920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:package_link(pkg) ?>
3920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <a href="<?cs var:toroot ?><?cs var:pkg.link ?>"><?cs var:pkg.name ?></a><?cs
4920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
5920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
6920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # A link to a type, or not if it's a primitive type
7920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        link: whether to create a link at the top level, always creates links in
8920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              recursive invocations.
9ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Main              Overloaded version to support use of 'nav' parameter, which when true,
10ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Main              will not include the generics in the class name (good for sidenav lists)
11920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        Expects the following fields:
12920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            .name
13920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            .link
14920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            .isPrimitive
15920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            .superBounds.N.(more links)   (... super ... & ...)
16920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            .extendsBounds.N.(more links) (... extends ... & ...)
17920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            .typeArguments.N.(more links) (< ... >)
18920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson?><?cs
19ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Maindef:type_link_impl(type, link) ?><?cs call:type_link_impl2(type, link, "false") ?><?cs /def ?><?cs
20ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Maindef:type_link_impl2(type, link, nav) ?><?cs
21920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:type.link && link=="true" ?><?cs
22920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    if:type.federated ?><a href="<?cs var:type.link ?>"><?cs
23920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      var:type.label ?></a><?cs
24920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    else ?><a href="<?cs var:toroot ?><?cs var:type.link ?>"><?cs var:type.label ?></a><?cs
25920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    /if ?><?cs
26920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  else ?><?cs var:type.label ?><?cs
27ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Main  /if ?><?cs
28ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Main  if:subcount(type.extendsBounds) ?><?cs
29920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      each:t=type.extendsBounds ?><?cs
30920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          if:first(t) ?>&nbsp;extends&nbsp;<?cs else ?>&nbsp;&amp;&nbsp;<?cs /if ?><?cs
31920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          call:type_link_impl(t, "true") ?><?cs
32920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /each ?><?cs
33920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
34920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(type.superBounds) ?><?cs
35920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      each:t=type.superBounds ?><?cs
36920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          if:first(t) ?>&nbsp;super&nbsp;<?cs else ?>&nbsp;&amp;&nbsp;<?cs /if ?><?cs
37920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          call:type_link_impl(t, "true") ?><?cs
38920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /each ?><?cs
39920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
40ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Main  if:subcount(type.typeArguments) && nav=="false"
41920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      ?>&lt;<?cs each:t=type.typeArguments ?><?cs call:type_link_impl(t, "true") ?><?cs
42920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          if:!last(t) ?>,&nbsp;<?cs /if ?><?cs
43920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /each ?>&gt;<?cs
44920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
45920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
46920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
47920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs def:class_name(type) ?><?cs call:type_link_impl(type, "false") ?><?cs /def ?>
48ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Main<?cs def:type_link2(type,nav) ?><?cs call:type_link_impl2(type, "true", nav) ?><?cs /def ?>
49ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Main<?cs def:type_link(type) ?><?cs call:type_link2(type, "false") ?><?cs /def ?>
50920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
51920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # a conditional link.
52920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      if the "condition" parameter evals to true then the link is displayed
53920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      otherwise only the text is displayed
54920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson?><?cs
55920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:cond_link(text, root, path, condition) ?><?cs
56920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:condition ?><a href="<?cs var:root ?><?cs var:path ?>"><?cs /if ?><?cs var:text ?><?cs if:condition ?></a><?cs /if ?><?cs
57920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
58920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
59920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # A comma separated parameter list ?><?cs
60920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:parameter_list(params) ?><?cs
61920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  each:param = params ?><?cs
62920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      call:type_link(param.type)?> <?cs
63920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      var:param.name ?><?cs
64920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      if: name(param)!=subcount(params)-1?>, <?cs /if ?><?cs
65920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /each ?><?cs
66920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
67920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
68920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # Print a list of tags (e.g. description text ?><?cs
69920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:tag_list(tags) ?><?cs
70920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  each:tag = tags ?><?cs
71920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      if:tag.name == "Text" ?><?cs var:tag.text?><?cs
72920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@more" ?><p><?cs
73920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@see" ?><code><a href="<?cs var:toroot ?><?cs var:tag.href ?>"><?cs var:tag.label ?></a></code><?cs
74920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@seeHref" ?><a href="<?cs var:tag.href ?>"><?cs var:tag.label ?></a><?cs
75920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@seeJustLabel" ?><?cs var:tag.label ?><?cs
76920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@code" ?><code><?cs var:tag.text ?></code><?cs
77920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@samplecode" ?><pre><?cs var:tag.text ?></pre><?cs
78920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.name == "@sample" ?><pre><?cs var:tag.text ?></pre><?cs
79920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.name == "@include" ?><?cs var:tag.text ?><?cs
80920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@docRoot" ?><?cs var:toroot ?><?cs
81920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@sdkCurrent" ?><?cs var:sdk.current ?><?cs
82920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@sdkCurrentVersion" ?><?cs var:sdk.version ?><?cs
83920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@sdkCurrentRelId" ?><?cs var:sdk.rel.id ?><?cs
84920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@sdkPlatformVersion" ?><?cs var:sdk.platform.version ?><?cs
85920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@sdkPlatformApiLevel" ?><?cs var:sdk.platform.apiLevel ?><?cs
86920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@sdkPlatformMajorMinor" ?><?cs var:sdk.platform.majorMinor ?><?cs
87920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@sdkPlatformReleaseDate" ?><?cs var:sdk.platform.releaseDate ?><?cs
88920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@sdkPlatformDeployableDate" ?><?cs var:sdk.platform.deployableDate ?><?cs
89920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@adtZipVersion" ?><?cs var:adt.zip.version ?><?cs
90920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@adtZipDownload" ?><?cs var:adt.zip.download ?><?cs
91920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@adtZipBytes" ?><?cs var:adt.zip.bytes ?><?cs
92920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@adtZipChecksum" ?><?cs var:adt.zip.checksum ?><?cs
93920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@inheritDoc" ?><?cs # This is the case when @inheritDoc is in something
94920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson                                              that doesn't inherit from anything?><?cs
95920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      elif:tag.kind == "@attr" ?><?cs
96920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      else ?>{<?cs var:tag.name?> <?cs var:tag.text ?>}<?cs
97920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /if ?><?cs
98920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /each ?><?cs
99920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
100920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
101920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # Show the short-form description of something.  These come from shortDescr and deprecated ?><?cs
102920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:short_descr(obj) ?><?cs
103920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(obj.deprecated) ?>
10440ad14799644f497483efe6d1350c856d46bc4daScott Main      <em>This <?cs var:obj.kind ?> was deprecated
10540ad14799644f497483efe6d1350c856d46bc4daScott Main      in API level <?cs var:obj.deprecatedsince ?>.
106920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <?cs call:tag_list(obj.deprecated) ?></em><?cs
107920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  else ?><?cs call:tag_list(obj.shortDescr) ?><?cs
108920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
109920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
110920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
111920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # Show the red box with the deprecated warning ?><?cs
112920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:deprecated_warning(obj) ?><?cs
113920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(obj.deprecated) ?><p>
114920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <p class="caution">
11540ad14799644f497483efe6d1350c856d46bc4daScott Main      <strong>This <?cs var:obj.kind ?> was deprecated
11640ad14799644f497483efe6d1350c856d46bc4daScott Main      in API level <?cs var:obj.deprecatedsince ?></strong>.<br/> <?cs
117920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      call:tag_list(obj.deprecated) ?>
118920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </p><?cs
119920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
120920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
121920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
122920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # print the See Also: section ?><?cs
123920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:see_also_tags(also) ?><?cs
124920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(also) ?>
125920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <div class="jd-tagdata">
126920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <h5 class="jd-tagtitle">See Also</h5>
127920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <ul class="nolist"><?cs
128920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        each:tag=also ?><li><?cs
129920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            if:tag.kind == "@see" ?><code><a href="<?cs var:toroot ?><?cs var:tag.href ?>"><?cs
130920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson                    var:tag.label ?></a></code><?cs
131920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            elif:tag.kind == "@seeHref" ?><a href="<?cs var:tag.href ?>"><?cs var:tag.label ?></a><?cs
132920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            elif:tag.kind == "@seeJustLabel" ?><?cs var:tag.label ?><?cs
133920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            else ?>[ERROR: Unknown @see kind]<?cs
134920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            /if ?></li><?cs
135920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        /each ?>
136920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      </ul>
137920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </div><?cs
138920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?>
139920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs /def ?>
140920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
141920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # print the API Level ?><?cs
142c60a46c6e4921a6d2f4a0cb6a170ce39ffd5947cScott Maindef:since_tags(obj) ?><?cs
143c60a46c6e4921a6d2f4a0cb6a170ce39ffd5947cScott Mainif:reference.apilevels && obj.since ?>
144c60a46c6e4921a6d2f4a0cb6a170ce39ffd5947cScott Main  Added in <a href="<?cs var:toroot ?>guide/topics/manifest/uses-sdk-element.html#ApiLevels">API level <?cs var:obj.since ?></a><?cs
145c60a46c6e4921a6d2f4a0cb6a170ce39ffd5947cScott Main/if ?><?cs
146c60a46c6e4921a6d2f4a0cb6a170ce39ffd5947cScott Main/def ?>
147920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs def:federated_refs(obj) ?>
148920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs if:subcount(obj.federated) ?>
149920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <div>
150920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    Also:
151920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs each:federated=obj.federated ?>
152920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <a href="<?cs var:federated.url ?>"><?cs var:federated.name ?></a><?cs
153920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      if:!last(federated) ?>,<?cs /if ?>
154920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <?cs /each ?>
155920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    </div>
156920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <?cs /if ?>
157920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs /def ?>
158920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # Print the long-form description for something.
159920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson       Uses the following fields: deprecated descr seeAlso since ?><?cs
160920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:description(obj) ?><?cs
161920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  call:deprecated_warning(obj) ?>
162920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <div class="jd-tagdata jd-tagdescr"><p><?cs call:tag_list(obj.descr) ?></p></div><?cs
163920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(obj.attrRefs) ?>
164920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <div class="jd-tagdata">
165920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <h5 class="jd-tagtitle">Related XML Attributes</h5>
166920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <ul class="nolist"><?cs
167920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        each:attr=obj.attrRefs ?>
168920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            <li><a href="<?cs var:toroot ?><?cs var:attr.href ?>"><?cs var:attr.name ?></a></li><?cs
169920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        /each ?>
170920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      </ul>
171920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </div><?cs
172920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
173920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(obj.paramTags) ?>
174920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <div class="jd-tagdata">
175920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <h5 class="jd-tagtitle">Parameters</h5>
176920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <table class="jd-tagtable"><?cs
177920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      each:tag=obj.paramTags ?>
178920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <tr>
179920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          <th><?cs if:tag.isTypeParameter ?>&lt;<?cs /if ?><?cs var:tag.name
180920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson                  ?><?cs if:tag.isTypeParameter ?>&gt;<?cs /if ?></td>
181920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          <td><?cs call:tag_list(tag.comment) ?></td>
182920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        </tr><?cs
183920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /each ?>
184920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      </table>
185920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </div><?cs
186920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
187920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(obj.returns) ?>
188920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <div class="jd-tagdata">
189920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <h5 class="jd-tagtitle">Returns</h5>
190920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <ul class="nolist"><li><?cs call:tag_list(obj.returns) ?></li></ul>
191920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </div><?cs
192920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
193920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(obj.throws) ?>
194920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <div class="jd-tagdata">
195920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <h5 class="jd-tagtitle">Throws</h5>
196920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <table class="jd-tagtable"><?cs
197920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      each:tag=obj.throws ?>
198920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <tr>
199920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            <th><?cs call:type_link(tag.type) ?></td>
200920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            <td><?cs call:tag_list(tag.comment) ?></td>
201920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        </tr><?cs
202920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /each ?>
203920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      </table>
204920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </div><?cs
205920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
206920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  call:see_also_tags(obj.seeAlso) ?><?cs
207920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
208920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
209920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # A table of links to classes with descriptions, as in a package file or the nested classes ?><?cs
210920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:class_link_table(classes) ?><?cs
211920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  set:count = #1 ?>
212920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <table class="jd-sumtable-expando"><?cs
213920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      each:cl=classes ?>
214920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <tr class="<?cs if:count % #2 ?>alt-color<?cs /if ?> api apilevel-<?cs var:cl.type.since ?>" >
215920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              <td class="jd-linkcol"><?cs call:type_link(cl.type) ?></td>
216920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              <td class="jd-descrcol" width="100%"><?cs call:short_descr(cl) ?>&nbsp;</td>
217920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          </tr><?cs set:count = count + #1 ?><?cs
218920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /each ?>
219920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </table><?cs
220920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
221920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
222920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # A list of links to classes, for use in the side navigation of classes when viewing a package (panel nav) ?><?cs
223920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:class_link_list(label, classes) ?><?cs
224920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(classes) ?>
225920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <li><h2><?cs var:label ?></h2>
226920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <ul><?cs
227920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      each:cl=classes ?>
228920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson        <li class="api apilevel-<?cs var:cl.type.since ?>"><?cs call:type_link(cl.type) ?></li><?cs
229920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /each ?>
230920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      </ul>
231920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    </li><?cs
232920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
233920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
234920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
235920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # A list of links to classes, for use in the side navigation of classes when viewing a class (panel nav) ?><?cs
236920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:list(label, classes) ?><?cs
237920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  if:subcount(classes) ?>
238920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <li><h2><?cs var:label ?></h2>
239920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <ul><?cs
240920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      each:cl=classes ?>
241ccc2f8e31967148d1da01b8b8118f74fd07d5d58Scott Main          <li class="<?cs if:class.name == cl.label?>selected <?cs /if ?>api apilevel-<?cs var:cl.since ?>"><?cs call:type_link2(cl,"true") ?></li><?cs
242920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      /each ?>
243920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      </ul>
244920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    </li><?cs
245920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /if ?><?cs
246920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
247920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
248920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # A list of links to packages, for use in the side navigation of packages (panel nav) ?><?cs
249920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:package_link_list(packages) ?><?cs
250920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  each:pkg=packages ?>
251920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson    <li class="<?cs if:(class.package.name == pkg.name) || (package.name == pkg.name)?>selected <?cs /if ?>api apilevel-<?cs var:pkg.since ?>"><?cs call:package_link(pkg) ?></li><?cs
252920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  /each ?><?cs
253920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
254920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
255920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # An expando trigger ?><?cs
256920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:expando_trigger(id, default) ?>
257920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <a href="#" onclick="return toggleInherited(this, null)" id="<?cs var:id ?>" class="jd-expando-trigger closed"
258920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          ><img id="<?cs var:id ?>-trigger"
259920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          src="<?cs var:toroot ?>assets/images/triangle-<?cs var:default ?>.png"
260920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          class="jd-expando-trigger-img" /></a><?cs
261920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
262920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
263920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs # An expandable list of classes ?><?cs
264920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodsondef:expandable_class_list(id, classes, default) ?>
265920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  <div id="<?cs var:id ?>">
266920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <div id="<?cs var:id ?>-list"
267920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              class="jd-inheritedlinks"
268920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              <?cs if:default != "list" ?>style="display: none;"<?cs /if ?>
269920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              >
270920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          <?cs if:subcount(classes) <= #20 ?>
271920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            <?cs each:cl=classes ?>
272920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              <?cs call:type_link(cl.type) ?><?cs if:!last(cl) ?>,<?cs /if ?>
273920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            <?cs /each ?>
274920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          <?cs else ?>
275920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            <?cs set:leftovers = subcount(classes) - #15 ?>
276a6be5d02b53d17d6f4ee2bcb6f2189da7bfa37efBen Dodson            <?cs loop:i = #0, #14, #1 ?>
277920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              <?cs with:cl=classes[i] ?>
278a6be5d02b53d17d6f4ee2bcb6f2189da7bfa37efBen Dodson                <?cs call:type_link(cl.type) ?>,
279920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              <?cs /with ?>
280a6be5d02b53d17d6f4ee2bcb6f2189da7bfa37efBen Dodson              <?cs  if:(#i == #14) ?>and
281a6be5d02b53d17d6f4ee2bcb6f2189da7bfa37efBen Dodson                <a href="#" onclick="return toggleInherited(document.getElementById('<?cs
282a6be5d02b53d17d6f4ee2bcb6f2189da7bfa37efBen Dodson                   var:id ?>', null))"><?cs var:leftovers ?> others.</a>
283a6be5d02b53d17d6f4ee2bcb6f2189da7bfa37efBen Dodson              <?cs /if ?>
284920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson            <?cs /loop ?>
285920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          <?cs /if ?>
286920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      </div>
287920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      <div id="<?cs var:id ?>-summary"
288920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              <?cs if:default != "summary" ?>style="display: none;"<?cs /if ?>
289920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson              ><?cs
290920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson          call:class_link_table(classes) ?>
291920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson      </div>
292920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson  </div><?cs
293920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson/def ?>
294920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson
295920dbbbaca6aa578f3b26d89e99d12754c26ed60Ben Dodson<?cs include:"components.cs" ?>
29641d8656cf17e04b25a058d0874e401654ea547b4Dirk Dougherty
297