Mercurial > public > gradleplugins
comparison src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/classDocName.html @ 16:8400a7db1330
USASR-1307: update templates to groovydoc 2.3.6
author | smith@nwoca.org |
---|---|
date | Wed, 31 Dec 2014 22:35:45 +0000 |
parents | e3c55e83c9a4 |
children | 3741247de37a |
comparison
equal
deleted
inserted
replaced
15:e3c55e83c9a4 | 16:8400a7db1330 |
---|---|
1 <!-- | |
2 ~ Copyright (c) 2014. Ohio Department of Education. - All Rights Reserved. | |
3 ~ Unauthorized copying of this file, in any medium, is strictly prohibited. | |
4 ~ Written by State Software Development Team (http://ssdt.oecn.k12.oh.us/) | |
5 --> | |
1 | 6 |
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
3 <!-- **************************************************************** --> | 8 <!-- **************************************************************** --> |
4 <!-- * PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * --> | 9 <!-- * PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * --> |
5 <!-- * i.e. only iterate & print data where possible. Thanks, Jez. * --> | 10 <!-- * i.e. only iterate & print data where possible. Thanks, Jez. * --> |
6 <!-- **************************************************************** --> | 11 <!-- **************************************************************** --> |
7 <% | 12 <% |
8 | 13 |
9 | 14 println "Generating for $classDoc (${classDoc.class})" |
10 classDoc = new org.ssdt_ohio.gradle.doc.tools.UserClassDocProxy().wrap(classDoc) | 15 classDoc = new org.ssdt_ohio.gradle.doc.tools.UserClassDocProxy().wrap(classDoc) |
11 | 16 |
12 def title = classDoc.name() + (props.docTitle ? " (${props.docTitle})" : "") | 17 def title = classDoc.name() + (props.docTitle ? " (${props.docTitle})" : "") |
13 def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } | 18 def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } |
14 def isVisibleExt = { t -> java.lang.reflect.Modifier.isPublic(t.modifiers) || java.lang.reflect.Modifier.isProtected(t.modifiers) } | 19 def isVisibleExt = { t -> java.lang.reflect.Modifier.isPublic(t.modifiers) || java.lang.reflect.Modifier.isProtected(t.modifiers) } |
72 def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } | 77 def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } |
73 def nameFromJavaParams = { n -> n.name + '(' + n.parameterTypes.collect{ param -> param.name }.join(', ') + ')' } | 78 def nameFromJavaParams = { n -> n.name + '(' + n.parameterTypes.collect{ param -> param.name }.join(', ') + ')' } |
74 %> | 79 %> |
75 <html> | 80 <html> |
76 <head> | 81 <head> |
77 <!-- Generated by groovydoc (${GroovySystem.version}) on ${new Date()} --> | 82 <!-- Generated by groovydoc (${GroovySystem.version}) on ${new Date()} --> |
78 <title>${title}</title> | 83 <title>${title}</title> |
79 <meta name="date" content="${new Date().format('yyyy-MM-dd')}"> | 84 <meta name="date" content="${new Date().format('yyyy-MM-dd')}"> |
80 <meta http-equiv="Content-Type" content="text/html; charset=${props.charset}"> | 85 <meta http-equiv="Content-Type" content="text/html; charset=${props.charset}"> |
81 <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="shortcut icon"> | 86 <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="shortcut icon"> |
82 <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="icon"> | 87 <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="icon"> |
83 <link rel="stylesheet" type="text/css" href="${classDoc.relativeRootPath}stylesheet.css" title="Style"> | 88 <link rel="stylesheet" type="text/css" href="${classDoc.relativeRootPath}stylesheet.css" title="Style"> |
84 <script type="text/javascript"> | 89 |
85 function windowTitle() | 90 <body class="center"> |
86 { | 91 <script type="text/javascript"><!-- |
87 if (location.href.indexOf('is-external=true') == -1) { | 92 if (location.href.indexOf('is-external=true') == -1) { |
88 parent.document.title="${title}"; | 93 parent.document.title="${title}"; |
89 } | |
90 } | 94 } |
95 //--> | |
91 </script> | 96 </script> |
92 <noscript> | 97 <noscript> |
98 <div>JavaScript is disabled on your browser.</div> | |
93 </noscript> | 99 </noscript> |
94 | |
95 </head><body onload="windowTitle();" bgcolor="white"> | |
96 <hr> | |
97 | |
98 <!-- ========= START OF TOP NAVBAR ======= --> | 100 <!-- ========= START OF TOP NAVBAR ======= --> |
99 <A NAME="navbar_top"><!-- --></A> | 101 <div class="topNav"><a name="navbar_top"> |
100 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> | 102 <!-- --> |
101 <TR> | 103 </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> |
102 <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> | 104 <!-- --> |
103 <A NAME="navbar_top_firstrow"><!-- --></A> | 105 </a> |
104 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> | 106 <ul class="navList" title="Navigation"> |
105 <TR ALIGN="center" VALIGN="top"> | 107 <li><a href="${classDoc.relativeRootPath}overview-summary.html">Overview</a></li> |
106 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="${classDoc.relativeRootPath}overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> | 108 <li><a href="package-summary.html">Package</a></li> |
107 | 109 <li class="navBarCell1Rev">Class</li> |
108 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> | 110 <li><a href="${classDoc.relativeRootPath}deprecated-list.html">Deprecated</a></li> |
109 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> | 111 <li><a href="${classDoc.relativeRootPath}index-all.html">Index</a></li> |
110 <!--<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> | 112 <li><a href="${classDoc.relativeRootPath}help-doc.html">Help</a></li> |
111 --> | 113 </ul> |
112 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="${classDoc.relativeRootPath}deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> | 114 </div> |
113 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="${classDoc.relativeRootPath}index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> | 115 |
114 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="${classDoc.relativeRootPath}help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> | 116 <div class="subNav"> |
115 </TR> | 117 <div> |
116 </TABLE> | 118 <ul class="navList"> |
117 </TD> | 119 <li><a href="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}" target="_top">Frames</a></li> |
118 <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> | 120 <li><a href="${classDoc.name()}.html" target="_top">No Frames</a></li> |
119 <% if (props.header) { %><b>${props.header}</b><% } %> | 121 </ul> |
120 </EM></TD> | 122 </div> |
121 </TR> | 123 <div> |
122 | 124 <ul class="subNavList"> |
123 <TR> | 125 <li>Summary: </li> |
124 <TD BGCOLOR="white" CLASS="NavBarCell2"><!--<FONT SIZE="-2"> | 126 <% |
125 <A HREF="${classDoc.relativeRootPath}groovy/lang/ExpandoMetaClass.ExpandoMetaProperty.html" title="class in groovy.lang"><B>PREV CLASS</B></A> | |
126 | |
127 <A HREF="${classDoc.relativeRootPath}groovy/lang/GroovyClassLoader.html" title="class in groovy.lang"><B>NEXT CLASS</B></A></FONT>--></TD> | |
128 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> | |
129 <A HREF="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}.html" target="_top"><B>FRAMES</B></A> | |
130 <A HREF="${classDoc.name()}.html" target="_top"><B>NO FRAMES</B></A> | |
131 <script type="text/javascript"> | |
132 <!-- | |
133 if(window==top) { | |
134 document.writeln('<A HREF="${classDoc.relativeRootPath}allclasses-frame.html"><B>All Classes</B></A>'); | |
135 } | |
136 //--> | |
137 </script> | |
138 <noscript> | |
139 <A HREF="${classDoc.relativeRootPath}allclasses-frame.html"><B>All Classes</B></A> | |
140 </noscript> | |
141 | |
142 </FONT></TD> | |
143 | |
144 </TR> | |
145 <TR> | |
146 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> | |
147 SUMMARY: <% | |
148 if (classDoc.isAnnotationType()) { | 127 if (classDoc.isAnnotationType()) { |
149 def hasReq = classDoc.fields().any{ isRequired(it, "true") } | 128 def hasReq = classDoc.fields().any{ isRequired(it, "true") } |
150 def hasOpt = classDoc.fields().any{ isRequired(it, "false") } | 129 def hasOpt = classDoc.fields().any{ isRequired(it, "false") } |
151 %><% if (hasReq) { %><A HREF="#required_element_summary"><% } %>REQUIRED<% if (hasReq) { %></A><% } | 130 if (hasReq) { %><li><a href="#required_element_summary"><% } %>Required<% if (hasReq) { %></a></li><% } %> <% |
152 %> | <% if (hasOpt) { %><A HREF="#optional_element_summary"><% } %>OPTIONAL<% if (hasOpt) { %></A><% } %><% | 131 if (hasOpt) { %><li><a href="#optional_element_summary"><% } %>Optional<% if (hasOpt) { %></a></li><% } %> <% |
153 } else { | 132 } else { |
154 if (visibleNested) { %><A HREF="#nested_summary"><% } %>NESTED<% if (visibleNested) { %></A><% } | 133 if (visibleNested) { %><li><a href="#nested_summary"><% } %>Nested<% if (visibleNested) { %></a></li><% } %> <% |
155 if (classDoc.isEnum()) { | 134 if (classDoc.isEnum()) { |
156 %> | <% if (hasEnumConstants) { %><A HREF="#enum_constant_summary"><% } %>ENUM CONSTANTS<% if (hasEnumConstants) { %></A><% } | 135 if (hasEnumConstants) { %><li><a href="#enum_constant_summary"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %> <% |
157 } | 136 } |
158 %> | <% if (hasFields) { %><A HREF="#field_summary"><% } %>FIELD<% if (hasFields) { %></A><% } | 137 if (hasFields) { %><li><a href="#field_summary"><% } %>Field<% if (hasFields) { %></a></li><% } %> <% |
159 if (hasProperties) { %> | <A HREF="#property_summary">PROPERTY</A><% } | 138 if (hasProperties) { %><li><a href="#property_summary">Property</a></li><% } %> <% |
160 if (classDoc.isClass()) { | 139 if (classDoc.isClass()) { |
161 %> | <% if (visibleConstructors) { %><A HREF="#constructor_summary"><% } %>CONSTR<% if (visibleConstructors) { %></A><% } | 140 if (visibleConstructors) { %><li><a href="#constructor_summary"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %> <% |
162 } | 141 } |
163 %> | <% if (visibleMethods) { %><A HREF="#method_summary"><% } %>METHOD<% if (visibleMethods) { %></A><% } | 142 if (visibleMethods) { %><li><a href="#method_summary"><% } %>Method<% if (visibleMethods) { %></a></li><% } %> <% |
164 } | 143 } |
165 %></FONT></TD> | 144 %> |
166 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> | 145 </ul> |
167 DETAIL: <% | 146 <ul class="subNavList"> |
168 if (classDoc.isAnnotationType()) { | 147 <li> | Detail: </li> |
169 if (hasElements) { %><A HREF="#element_detail"><% } %>ELEMENT<% if (hasElements) { %></A><% } | 148 <% |
170 } else { | 149 if (classDoc.isAnnotationType()) { |
171 if (classDoc.isEnum()) { | 150 if (hasElements) { %><li><a href="#element_detail"><% } %>Element<% if (hasElements) { %></a></li><% } %> <% |
172 if (hasEnumConstants) { %><A HREF="#enum_constant_detail"><% } %>ENUM CONSTANTS<% if (hasEnumConstants) { %></A> | <% } | 151 } else { |
173 } | 152 if (classDoc.isEnum()) { |
174 if (hasFields) { %><A HREF="#field_detail"><% } %>FIELD<% if (hasFields) { %></A><% } | 153 if (hasEnumConstants) { %><li><a href="#enum_constant_detail"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %> <% |
175 if (hasProperties) { %> | <A HREF="#prop_detail">PROPERTY</A><% } | 154 } |
176 if (classDoc.isClass()) { | 155 if (hasFields) { %><li><a href="#field_detail"><% } %>Field<% if (hasFields) { %></a></li><% } %> <% |
177 %> | <% if (visibleConstructors) { %><A HREF="#constructor_detail"><% } %>CONSTR<% if (visibleConstructors) { %></A><% } | 156 if (hasProperties) { %><li><a href="#prop_detail">Property</a></li><% } %> <% |
178 } | 157 if (classDoc.isClass()) { |
179 %> | <% if (visibleMethods) { %><A HREF="#method_detail"><% } %>METHOD<% if (visibleMethods) { %></A><% } | 158 if (visibleConstructors) { %><li><a href="#constructor_detail"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %> <% |
180 } | 159 } |
181 %></FONT></TD> | 160 if (visibleMethods) { %><li><a href="#method_detail"><% } %>Method<% if (visibleMethods) { %></a></li><% } %> <% |
182 </TR> | 161 } |
183 </TABLE> | 162 %> |
163 </ul> | |
164 </div> | |
165 <a name="skip-navbar_top"> | |
166 <!-- --> | |
167 </a></div> | |
184 <!-- ========= END OF TOP NAVBAR ========= --> | 168 <!-- ========= END OF TOP NAVBAR ========= --> |
185 | 169 |
186 | |
187 <HR> | |
188 <!-- ======== START OF CLASS DATA ======== --> | 170 <!-- ======== START OF CLASS DATA ======== --> |
189 <H2> | 171 <div class="header"> |
190 <% | 172 <% |
191 def pkg = classDoc.containingPackage().nameWithDots() | 173 def pkg = classDoc.containingPackage().nameWithDots() |
174 String classDesc = "${classDoc.isGroovy() ? "[Groovy]" : "[Java]"} ${classDoc.typeDescription} ${org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc.encodeAngleBrackets(classDoc.getNameWithTypeArgs())}" | |
192 if (pkg != "DefaultPackage") { | 175 if (pkg != "DefaultPackage") { |
193 %> | 176 %> |
194 <FONT SIZE="-1"> | 177 <div class="subTitle">Package: <strong>${pkg}</strong></div> |
195 ${pkg}</FONT> | 178 <%}%> |
196 <BR> | 179 <h2 title="${classDesc}" class="title">${classDesc}</h2> |
197 <% } %> | 180 </div> |
198 <span CLASS="ClassTitleFont"> ${classDoc.typeDescription} ${classDoc.name()}</span></H2> | 181 <div class="contentContainer"> |
182 <ul class="inheritance"> | |
199 <% | 183 <% |
200 def parents = classDoc.isInterface() ? classDoc.parentInterfaces : classDoc.parentClasses | 184 def parents = classDoc.isInterface() ? classDoc.parentInterfaces : classDoc.parentClasses |
201 if (parents.size() >= 2) { | 185 if (parents.size() >= 2) { |
202 %><pre><% | |
203 parents.eachWithIndex { p, i -> | 186 parents.eachWithIndex { p, i -> |
204 %>${(i > 0 ? " " * i + " " * (i - 1) + "<img src='" + classDoc.relativeRootPath + "inherit.gif'>" : "") + ( i == parents.size() - 1 ? p.qualifiedTypeName() : linkfull(p))}\n<% | 187 %><li><% |
205 } | 188 if ( i == parents.size() - 1) { |
206 %></pre><% | 189 out << p.qualifiedTypeName() |
190 } else { | |
191 %><ul class="inheritance"><% linkfull(p) %></ul></li><% | |
192 } | |
193 } | |
207 } | 194 } |
195 %> | |
196 </ul> | |
197 <div class="description"> | |
198 <ul class="blockList"> | |
199 <li class="blockList"> | |
200 <% | |
208 if (classDoc.isInterface()) { | 201 if (classDoc.isInterface()) { |
209 Set interfaces = classDoc.parentInterfaces | 202 Set interfaces = classDoc.parentInterfaces |
210 interfaces -= classDoc | 203 interfaces -= classDoc |
211 if (interfaces) { | 204 if (interfaces) { |
212 %><dl><dt><b>All Superinterfaces:</b> </dt><dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd></dl><% | 205 %> |
206 <dl> | |
207 <dt>All Superinterfaces:</dt> | |
208 <dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd> | |
209 </dl><% | |
213 } | 210 } |
214 } else { | 211 } else { |
215 // TODO follow up the tree collecting interfaces seen? | 212 // TODO follow up the tree collecting interfaces seen? |
216 def interfaces = classDoc.interfaces() | 213 def interfaces = classDoc.interfaces() |
217 if (interfaces) { | 214 if (interfaces) { |
218 %><dl><dt><b>All Implemented Interfaces:</b> </dt><dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd></dl><% | 215 %> |
219 } | 216 <dl> |
220 } | 217 <dt>All Implemented Interfaces and Traits:</dt> |
221 %><hr> | 218 <dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd> |
222 <PRE>${annotations(classDoc, '\n') + modifiers(classDoc) + classDoc.typeSourceDescription + ' ' + classDoc.name()} | 219 </dl> |
220 <!-- todo: direct known subclasses --> | |
221 <hr> | |
222 <br> | |
223 <pre>${annotations(classDoc, '\n') + modifiers(classDoc) + classDoc.typeSourceDescription + ' ' + classDoc.name()} | |
223 <% if (classDoc.isInterface() && classDoc.interfaces()) { | 224 <% if (classDoc.isInterface() && classDoc.interfaces()) { |
224 %>extends ${classDoc.interfaces().collect{ linkable(it) }.join(', ')} | 225 %>extends ${classDoc.interfaces().collect{ linkable(it) }.join(', ')} |
225 <% } else if (classDoc.superclass()) { | 226 <% } else if (classDoc.superclass()) { |
226 %>extends ${linkable(classDoc.superclass())} | 227 %>extends ${linkable(classDoc.superclass())} |
227 <% } %> | 228 <% } %> |
228 </PRE> | 229 </pre> |
230 <% } %> | |
231 <% } %> | |
229 <% if (classDoc.commentText()) { %> | 232 <% if (classDoc.commentText()) { %> |
230 <P> | 233 <p>${classDoc.commentText()}</p> |
231 ${classDoc.commentText()} | |
232 </P> | |
233 <hr> | |
234 <% } %> | 234 <% } %> |
235 | 235 </li> |
236 <!-- =========== NESTED CLASS SUMMARY =========== --> | 236 </ul> |
237 | 237 </div> |
238 <A NAME="nested_summary"><!-- --></A> | 238 |
239 <% if (visibleNested) { %> | 239 <div class="summary"> |
240 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | 240 <ul class="blockList"> |
241 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | 241 <li class="blockList"> |
242 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | 242 <!-- =========== NESTED CLASS SUMMARY =========== --> |
243 <B>Nested Class Summary</B></FONT></TH> | 243 <% if (visibleNested) { %> |
244 </TR> | 244 <ul class="blockList"> |
245 <% for (c in visibleNested) { %> | 245 <li class="blockList"><a name="nested_summary"><!-- --></a> |
246 <TR BGCOLOR="white" CLASS="TableRowColor"> | 246 <h3>Nested Class Summary</h3> |
247 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> | 247 <ul class="blockList"> |
248 <CODE>${modifiersBrief(c) + c.typeSourceDescription}</CODE></FONT></TD> | 248 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> |
249 <TD> | 249 <caption><span>Nested classes</span><span class="tabEnd"> </span></caption> |
250 <CODE>${linkable(c)}</CODE> | 250 <tr> |
251 <BR> | 251 <th class="colFirst" scope="col">Modifiers</th> |
252 <P>${c.firstSentenceCommentText()}</P> | 252 <th class="colLast" scope="col">Name</th> |
253 </TD> | 253 <th class="colLast" scope="col">Description</th> |
254 </TR> | 254 </tr> |
255 <% } %> | 255 <% visibleNested.eachWithIndex { c, i -> %> |
256 </TABLE> | 256 <tr class="${i%2==0?'altColor':'rowColor'}"> |
257 | 257 <td class="colFirst"><code><strong>${modifiersBrief(c) + c.typeSourceDescription}</strong></code> </td> |
258 <% } %> | 258 <td class="colLast"><code>${linkable(c)}</code></td> |
259 | 259 <td class="colLast">${c.firstSentenceCommentText()}</code></td> |
260 <!-- =========== ENUM CONSTANT SUMMARY =========== --> | 260 </tr> |
261 | 261 <% } %> |
262 <A NAME="enum_constant_summary"><!-- --></A> | 262 </table> |
263 <% if (hasEnumConstants) { %> | 263 </ul> |
264 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | 264 </li> |
265 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | 265 </ul> |
266 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | 266 <% } %> |
267 <B>Enum Constant Summary</B></FONT></TH> | 267 |
268 </TR> | 268 <!-- =========== ENUM CONSTANT SUMMARY =========== --> |
269 <% for (ec in classDoc.enumConstants()) { %> | 269 <% if (hasEnumConstants) { %> |
270 <TR BGCOLOR="white" CLASS="TableRowColor"> | 270 <ul class="blockList"> |
271 <TD> | 271 <li class="blockList"><a name="enum_constant_summary"><!-- --></a> |
272 <CODE><B><A HREF="#${ec.name()}">${ec.name()}</A></B></CODE> | 272 <h3>Enum Constants Summary</h3> |
273 <BR> | 273 <ul class="blockList"> |
274 <P>${ec.firstSentenceCommentText()}</P> | 274 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum constants summary table"> |
275 </TD> | 275 <caption><span>Enum constants classes</span><span class="tabEnd"> </span></caption> |
276 </TR> | 276 <tr> |
277 <% } %> | 277 <th class="colFirst" scope="col">Enum constant</th> |
278 </TABLE> | 278 <th class="colLast" scope="col">Description</th> |
279 | 279 </tr> |
280 <% } %> | 280 <% classDoc.enumConstants().eachWithIndex { ec, i -> %> |
281 | 281 <tr class="${i%2==0?'altColor':'rowColor'}"> |
282 <!-- =========== FIELD SUMMARY =========== --> | 282 <td class="colFirst"><code><strong><a href="#${ec.name()}">${ec.name()}</a></strong></code></td> |
283 | 283 <td class="colLast">${ec.firstSentenceCommentText()}</td> |
284 <A NAME="field_summary"><!-- --></A> | 284 </tr> |
285 <% if (hasFields) { %> | 285 <% } %> |
286 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | 286 </table> |
287 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | 287 </ul> |
288 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | 288 </li> |
289 <B>Field Summary</B></FONT></TH> | 289 </ul> |
290 </TR> | 290 <% } %> |
291 <% for (field in visibleFields) { %> | 291 <!-- =========== FIELD SUMMARY =========== --> |
292 <TR BGCOLOR="white" CLASS="TableRowColor"> | 292 <% |
293 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> | 293 def buffer = new StringBuilder() |
294 <CODE>${modifiersBrief(field) + linkable(field.type())}</CODE></FONT></TD> | 294 classes = [] |
295 <TD> | 295 if (classDoc.isInterface()) { |
296 <CODE><B><A HREF="#${field.name()}">${field.name()}</A></B></CODE> | 296 classes.addAll(classDoc.interfaces().toList()) |
297 <BR> | 297 } else { |
298 <P>${field.firstSentenceCommentText()}</P> | 298 if (classDoc.superclass()) classes += classDoc.superclass() |
299 </TD> | 299 else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class) |
300 </TR> | 300 } |
301 <% } %> | 301 visited = [classDoc] as Set |
302 </TABLE> | 302 while (classes) { |
303 | 303 Set nextLevel = [] |
304 <% } | 304 classes.eachWithIndex { c,i -> |
305 classes = [] | 305 if (c.isInterface()) nextLevel.addAll(c.interfaces().toList()) |
306 if (classDoc.isInterface()) { | 306 else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass() |
307 classes.addAll(classDoc.interfaces().toList()) | 307 nextLevel -= visited |
308 } else { | 308 visited += nextLevel |
309 if (classDoc.superclass()) classes += classDoc.superclass() | 309 def list = [] |
310 else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class) | 310 if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { |
311 } | 311 list = c.fields().findAll(isVisible).collect { field -> |
312 visited = [classDoc] as Set | 312 "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>" |
313 while (classes) { | 313 } |
314 Set nextLevel = [] | 314 } else { |
315 classes.each { c -> | 315 list = c.externalClass().fields.findAll{ isVisibleExt(it) }.collect { field -> |
316 if (c.isInterface()) nextLevel.addAll(c.interfaces().toList()) | 316 // "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>" |
317 else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass() | 317 field.name |
318 nextLevel -= visited | 318 } |
319 visited += nextLevel | |
320 def list = [] | |
321 if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { | |
322 list = c.fields().findAll(isVisible).collect { field -> | |
323 "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>" | |
324 } | 319 } |
325 } else { | 320 if (list) { |
326 list = c.externalClass().fields.findAll{ isVisibleExt(it) }.collect { field -> | 321 buffer << """ <tr class="${i%2==0?'altColor':'rowColor'}"> |
327 // "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>" | 322 <td class="colFirst"><strong><code>${c.typeSourceDescription} ${linkable(c)}</code></strong></td> |
328 field.name | 323 <td class="colLast"><code>${list.join(', ')}</code></td> |
324 </tr> | |
325 """ | |
329 } | 326 } |
330 } | 327 } |
331 if (list) { | 328 classes = nextLevel |
332 if (!fieldSummaryShown) { | 329 } |
333 fieldSummaryShown = true | 330 |
334 %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | 331 |
335 <TR CLASS="TableHeadingColor"> | 332 if (hasFields || buffer.length()>0) { %> |
336 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont"> | 333 <ul class="blockList"><% |
337 <B>Field Summary</B></FONT></TH> | 334 if (hasFields) { %> |
338 </TR> | 335 <li class="blockList"><a name="field_summary"><!-- --></a> |
339 </table> | 336 <h3>Field Summary</h3> |
340 <% | 337 <ul class="blockList"> |
338 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum constants summary table"> | |
339 <caption><span>Fields</span><span class="tabEnd"> </span></caption> | |
340 <tr> | |
341 <th class="colFirst" scope="col">Modifiers</th> | |
342 <th class="colLast" scope="col">Name</th> | |
343 <th class="colLast" scope="col">Description</th> | |
344 </tr> | |
345 <% visibleFields.eachWithIndex { field, i -> %> | |
346 <tr class="${i%2==0?'altColor':'rowColor'}"> | |
347 <td class="colFirst"><code><strong>${modifiersBrief(field) + linkable(field.type())}</strong></code> </td> | |
348 <td class="colLast"><code><a href="#${field.name()}">${field.name()}</a></code></td> | |
349 <td class="colLast">${field.firstSentenceCommentText()}</code></td> | |
350 </tr> | |
351 <% } %> | |
352 </table> | |
353 </ul> | |
354 </li> | |
355 <% } // if (hasFields) | |
356 if ((buffer.length())>0) { %> | |
357 <li class="blockList"><a name="field_summary"><!-- --></a> | |
358 <ul class="blockList"> | |
359 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited fields summary table"> | |
360 <caption><span>Inherited fields</span><span class="tabEnd"> </span></caption> | |
361 <tr> | |
362 <th class="colFirst" scope="col">Fields inherited from class</th> | |
363 <th class="colLast" scope="col">Fields</th> | |
364 </tr> | |
365 ${buffer} | |
366 </table> | |
367 </ul> | |
368 </li> | |
369 <% } // if buffer %> | |
370 </ul> | |
371 <% } // if hasFields or buffer %> | |
372 | |
373 <!-- =========== PROPERTY SUMMARY =========== --> | |
374 <% if (hasProperties) { %> | |
375 <ul class="blockList"> | |
376 <li class="blockList"><a name="property_summary"><!-- --></a> | |
377 <h3>Properties Summary</h3> | |
378 <ul class="blockList"> | |
379 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Properties Summary table, listing nested classes, and an explanation"> | |
380 <caption><span>Properties</span><span class="tabEnd"> </span></caption> | |
381 <tr> | |
382 <th class="colFirst" scope="col">Type</th> | |
383 <th class="colLast" scope="col">Name and description</th> | |
384 </tr> | |
385 <% visibleProperties.eachWithIndex { prop, i -> %> | |
386 <tr class="${i%2==0?'altColor':'rowColor'}"> | |
387 <td class="colFirst"><code><strong>${modifiersBrief(prop) + linkable(prop.type())}</strong></code> </td> | |
388 <td class="colLast"><code><a href="#${prop.name()}"></a>${prop.name()}</code><br>${prop.firstSentenceCommentText()}</td> | |
389 </tr> | |
390 <% } %> | |
391 </table> | |
392 </ul> | |
393 </li> | |
394 </ul> | |
395 <% } %> | |
396 | |
397 <!-- =========== ELEMENT SUMMARY =========== --> | |
398 <% if (hasElements) { %> | |
399 <ul class="blockList"><a name="element_summary"><!-- --></a> | |
400 <li class="blockList"> | |
401 <h3>Element Summary</h3> | |
402 <% elementTypes.each { k, v -> | |
403 %><a name="${k}_element_summary"><!-- --></a><% | |
404 if (visibleFields.any{ isRequired(it, v) }) { %> | |
405 <ul class="blockList"> | |
406 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="${upcase(k)} Element Summary table"> | |
407 <caption><span>${upcase(k)} Element Summary</span><span class="tabEnd"> </span></caption> | |
408 <tr> | |
409 <th class="colFirst" scope="col">Type</th> | |
410 <th class="colLast" scope="col">Name and Description</th> | |
411 </tr> | |
412 <% visibleFields.findAll {isRequired(it, v)}.eachWithIndex { element, i -> %> | |
413 <tr class="${i%2==0?'altColor':'rowColor'}"> | |
414 <td class="colFirst"><code><strong>${modifiersBrief(element) + linkable(element.type())}</strong></code> </td> | |
415 <td class="colLast"><code><a href="#${element.name()}">${element.name()}</a></code><br>${element.firstSentenceCommentText()}</td> | |
416 </tr> | |
417 <% } %> | |
418 </table> | |
419 </ul> | |
420 <% } | |
421 } //elementTypes.each %> | |
422 </li> | |
423 </ul> | |
424 <% } %> | |
425 | |
426 <% if (visibleConstructors) { %> | |
427 <!-- ======== CONSTRUCTOR SUMMARY ======== --> | |
428 <ul class="blockList"> | |
429 <li class="blockList"><a name="constructor_summary"><!-- --></a> | |
430 <h3>Constructor Summary</h3> | |
431 <ul class="blockList"> | |
432 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table"> | |
433 <caption><span>Constructors</span><span class="tabEnd"> </span></caption> | |
434 <tr> | |
435 <th class="colFirst" scope="col">Constructor and description</th> | |
436 </tr> | |
437 <% visibleConstructors.eachWithIndex { constructor, i -> %> | |
438 <tr class="${i%2==0?'altColor':'rowColor'}"> | |
439 <td class="colFirst"> | |
440 <code>${modifiersBrief(constructor)}<a href="#${nameFromParams(constructor)}">${constructor.name()}</a></strong> | |
441 (${paramsOf(constructor, true)})</code><br>${constructor.firstSentenceCommentText()}</td> | |
442 </tr> | |
443 <% } %> | |
444 </table> | |
445 </ul> | |
446 </li> | |
447 </ul> | |
448 <% } %> | |
449 | |
450 <% | |
451 buffer = new StringBuilder() | |
452 Set classes = [] | |
453 if (classDoc.isInterface()) { | |
454 classes.addAll(classDoc.interfaces().toList()) | |
455 } else { | |
456 if (classDoc.superclass()) classes += classDoc.superclass() | |
457 else if (!classDoc.isTrait()) classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class) | |
458 } | |
459 Set visited = [classDoc] as Set | |
460 while (classes) { | |
461 Set nextLevel = [] | |
462 classes.eachWithIndex { c,i -> | |
463 if (c.isInterface()) nextLevel.addAll(c.interfaces().toList()) | |
464 else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass() | |
465 nextLevel -= visited | |
466 visited += nextLevel | |
467 def list = [] | |
468 if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { | |
469 list = c.methods().findAll(isVisible).collect { method -> | |
470 "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${nameFromParams(method)}'>${method.name()}</a>" | |
471 } | |
472 } else { | |
473 list = c.externalClass().methods.findAll{ isVisibleExt(it) }.collect { method -> | |
474 linkable(c.externalClass().name + "#" + nameFromJavaParams(method) + " " + method.name) | |
475 } | |
341 } | 476 } |
342 %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | 477 if (list) { |
343 <tr CLASS="TableSubHeadingColor"><th ALIGN="left" COLSPAN="2"> | 478 buffer << """ |
344 <b>Fields inherited from ${c.typeSourceDescription} ${linkable(c)}</b> | 479 <tr class="${i%2==0?'altColor':'rowColor'}"> |
345 </th></tr> | 480 <td class="colFirst"><code>${c.typeSourceDescription} ${linkable(c)}</strong></code></td> |
346 <tr class="TableRowColor"><td colspan='2'>${list.join(', ')}</td></tr> | 481 <td class="colLast"><code>${list.join(', ')}</code></td> |
347 </table> | 482 </tr>""" |
348 <% | |
349 } | |
350 } | |
351 classes = nextLevel | |
352 } | |
353 %> | |
354 | |
355 <!-- =========== PROPERTY SUMMARY =========== --> | |
356 | |
357 <A NAME="property_summary"><!-- --></A> | |
358 <% if (hasProperties) { %> | |
359 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
360 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
361 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | |
362 <B>Property Summary</B></FONT></TH> | |
363 </TR> | |
364 <% for (prop in visibleProperties) { %> | |
365 <TR BGCOLOR="white" CLASS="TableRowColor"> | |
366 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> | |
367 <CODE>${modifiersBrief(prop) + linkable(prop.type())}</CODE></FONT></TD> | |
368 <TD> | |
369 <CODE><B><A HREF="#${prop.name()}">${prop.name()}</A></B></CODE> | |
370 <BR> | |
371 <P>${prop.firstSentenceCommentText()}</P> | |
372 </TD> | |
373 </TR> | |
374 <% } %> | |
375 </TABLE> | |
376 | |
377 <% } %> | |
378 | |
379 <!-- =========== ELEMENT SUMMARY =========== --> | |
380 | |
381 <% if (hasElements) { %> | |
382 <% elementTypes.each { k, v -> %> | |
383 <A NAME="${k}_element_summary"><!-- --></A> | |
384 <% if (visibleFields.any{ isRequired(it, v) }) { %> | |
385 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
386 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
387 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | |
388 <B>${upcase(k)} Element Summary</B></FONT></TH> | |
389 </TR> | |
390 <% for (element in visibleFields) { %> | |
391 <% if (isRequired(element, v)) { %> | |
392 <TR BGCOLOR="white" CLASS="TableRowColor"> | |
393 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> | |
394 <CODE>${modifiersBrief(element) + element.type().typeName()}</CODE></FONT></TD> | |
395 <TD> | |
396 <CODE><B><A HREF="#${element.name()}">${element.name()}</A></B></CODE> | |
397 <BR> | |
398 <P>${element.firstSentenceCommentText()}</P> | |
399 </TD> | |
400 </TR> | |
401 <% } %> | |
402 <% } %> | |
403 </TABLE> | |
404 <% } %> | |
405 | |
406 <% } %> | |
407 <% } %> | |
408 | |
409 <!-- ======== CONSTRUCTOR SUMMARY ======== --> | |
410 | |
411 <A NAME="constructor_summary"><!-- --></A> | |
412 <% if (visibleConstructors) { %> | |
413 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
414 <TR BGCOLOR="#D5D5FF" CLASS="TableHeadingColor"> | |
415 <TD COLSPAN=2><FONT SIZE="+2"> | |
416 <B>Constructor Summary</B></FONT></TD> | |
417 </TR> | |
418 <% for (constructor in visibleConstructors) { %> | |
419 <TR BGCOLOR="white" CLASS="TableRowColor"> | |
420 <TD> | |
421 <CODE>${modifiersBrief(constructor)}<B><a href="#${nameFromParams(constructor)}">${constructor.name()}</a></B>(${paramsOf(constructor, true)})</CODE> | |
422 <BR> | |
423 <P>${constructor.firstSentenceCommentText()}</P> | |
424 </TD> | |
425 </TR> | |
426 <% } %> | |
427 </TABLE> | |
428 | |
429 <% } %> | |
430 | |
431 <!-- ========== METHOD SUMMARY =========== --> | |
432 | |
433 <A NAME="method_summary"><!-- --></A> | |
434 <% if (visibleMethods) { %> | |
435 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
436 <TR CLASS="TableHeadingColor"> | |
437 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont"> | |
438 <B>Method Summary</B></FONT></TH> | |
439 </TR> | |
440 <% for (method in visibleMethods) { %> | |
441 <TR BGCOLOR="white" CLASS="TableRowColor"> | |
442 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont"> | |
443 <CODE>${modifiersBrief(method)}${linkable(method.returnType())}</CODE></FONT> | |
444 </TD> | |
445 <TD> | |
446 <CODE><b><a href="#${nameFromParams(method)}">${method.name()}</a></b>(${paramsOf(method, true)})</CODE> | |
447 <BR> | |
448 <P>${method.firstSentenceCommentText()}</P> | |
449 </TD> | |
450 </TR> | |
451 <% } %> | |
452 </TABLE> | |
453 | |
454 <% } | |
455 Set classes = [] | |
456 if (classDoc.isInterface()) { | |
457 classes.addAll(classDoc.interfaces().toList()) | |
458 } else { | |
459 if (classDoc.superclass()) classes += classDoc.superclass() | |
460 else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class) | |
461 } | |
462 Set visited = [classDoc] as Set | |
463 while (classes) { | |
464 Set nextLevel = [] | |
465 classes.each { c -> | |
466 if (c.isInterface()) nextLevel.addAll(c.interfaces().toList()) | |
467 else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass() | |
468 nextLevel -= visited | |
469 visited += nextLevel | |
470 def list = [] | |
471 if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { | |
472 list = c.methods().findAll(isVisible).collect { method -> | |
473 "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${nameFromParams(method)}'>${method.name()}</a>" | |
474 } | |
475 } else { | |
476 list = c.externalClass().methods.findAll{ isVisibleExt(it) }.collect { method -> | |
477 linkable(c.externalClass().name + "#" + nameFromJavaParams(method) + " " + method.name) | |
478 } | 483 } |
479 } | 484 } |
480 if (list) { | 485 classes = nextLevel |
481 if (!methodSummaryShown) { | 486 } |
482 methodSummaryShown = true | 487 |
483 %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | 488 if (visibleMethods || buffer.length()>0) { %> |
484 <TR CLASS="TableHeadingColor"> | 489 <!-- ========== METHOD SUMMARY =========== --> |
485 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont"> | 490 <ul class="blockList"> |
486 <B>Method Summary</B></FONT></TH> | 491 <% if (visibleMethods) { %> |
487 </TR> | 492 <li class="blockList"><a name="method_summary"><!-- --></a> |
488 </table> | 493 <h3>Methods Summary</h3> |
489 <% | 494 <ul class="blockList"> |
495 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table"> | |
496 <caption><span>Methods</span><span class="tabEnd"> </span></caption> | |
497 <tr> | |
498 <th class="colFirst" scope="col">Type</th> | |
499 <th class="colLast" scope="col">Name and description</th> | |
500 </tr> | |
501 <% visibleMethods.eachWithIndex { method, i -> %> | |
502 <tr class="${i%2==0?'altColor':'rowColor'}"> | |
503 <td class="colFirst"><code>${modifiersBrief(method)}${linkable(method.returnType())}</strong></code></td> | |
504 <td class="colLast"><code><strong><a href="#${nameFromParams(method)}">${method.name()}</a></strong>(${paramsOf(method, true)})</code><br>${method.firstSentenceCommentText()}</td> | |
505 </tr> | |
506 <% } %> | |
507 </table> | |
508 </ul> | |
509 </li> | |
510 <% } // if (visibleMethods) | |
511 if (buffer.length()>0) { | |
512 %> | |
513 <li class="blockList"><a name="method_summary"><!-- --></a> | |
514 <h3>Inherited Methods Summary</h3> | |
515 <ul class="blockList"> | |
516 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table"> | |
517 <caption><span>Inherited Methods</span><span class="tabEnd"> </span></caption> | |
518 <tr> | |
519 <th class="colFirst" scope="col">Methods inherited from class</th> | |
520 <th class="colLast" scope="col">Name</th> | |
521 </tr> | |
522 ${buffer} | |
523 </table> | |
524 </ul> | |
525 </li> | |
526 <% | |
527 } // if buffer.length%> | |
528 </ul> | |
529 <% } %> | |
530 </li> | |
531 </ul> | |
532 </div> | |
533 | |
534 <div class="details"> | |
535 <ul class="blockList"> | |
536 <li class="blockList"> | |
537 <% if (hasEnumConstants) { %> | |
538 <!-- ============ ENUM CONSTANT DETAIL ========== --> | |
539 <ul class="blockList"> | |
540 <li class="blockList"><a name="enum_constant_detail"> | |
541 <!-- --> | |
542 </a> | |
543 <h3>Enum Constant Detail</h3> | |
544 <% for (ec in classDoc.enumConstants()) { %> | |
545 <a name="${ec.name()}"><!-- --></a> | |
546 <ul class="blockListLast"> | |
547 <li class="blockList"> | |
548 <h4>${modifiers(ec) + '<a href="' + classDoc.relativeRootPath + classDoc.fullPathName + '.html">' + classDoc.name() + '</a>'} <strong>${ec.name()}</strong></h4> | |
549 <p>${ec.commentText()}</p> | |
550 </li> | |
551 </ul> | |
552 <% } %> | |
553 </li> | |
554 </ul> | |
555 <% } %> | |
556 | |
557 <% if (hasFields) { %> | |
558 <!-- =========== FIELD DETAIL =========== --> | |
559 <ul class="blockList"> | |
560 <li class="blockList"><a name="field_detail"> | |
561 <!-- --> | |
562 </a> | |
563 <h3>Field Detail</h3> | |
564 <% visibleFields.each { field -> %> | |
565 <a name="${field.name()}"><!-- --></a> | |
566 <ul class="blockListLast"> | |
567 <li class="blockList"> | |
568 <h4>${annotations(field, '\n') + modifiersWithIgnore(field, false) + linkable(field.type())} <strong>${field.name()}</strong></h4> | |
569 <p>${field.commentText()}</p> | |
570 </li> | |
571 </ul> | |
572 <% } %> | |
573 </li> | |
574 </ul> | |
575 <% } %> | |
576 | |
577 <% if (hasProperties) { %> | |
578 <!-- =========== PROPERTY DETAIL =========== --> | |
579 <ul class="blockList"> | |
580 <li class="blockList"><a name="prop_detail"> | |
581 <!-- --> | |
582 </a> | |
583 <h3>Property Detail</h3> | |
584 <% visibleProperties.each { prop -> %> | |
585 <a name="${prop.name()}"><!-- --></a> | |
586 <ul class="blockListLast"> | |
587 <li class="blockList"> | |
588 <h4>${annotations(prop, '\n') + modifiers(prop) + linkable(prop.type())} <strong>${prop.name()}</strong></h4> | |
589 <p>${prop.commentText()}</p> | |
590 </li> | |
591 </ul> | |
592 <% } %> | |
593 </li> | |
594 </ul> | |
595 <% } %> | |
596 | |
597 <% if (hasElements) { %> | |
598 <!-- =========== ELEMENT DETAIL =========== --> | |
599 <ul class="blockList"> | |
600 <li class="blockList"><a name="element_detail"> | |
601 <!-- --> | |
602 </a> | |
603 <h3>Element Detail</h3> | |
604 <% visibleFields.each { element -> %> | |
605 <a name="${element.name()}"><!-- --></a> | |
606 <ul class="blockListLast"> | |
607 <li class="blockList"> | |
608 <h4>${modifiers(element) + linkable(element.type())} <strong>${element.name()}</strong></h4> | |
609 <p>${element.commentText()}</p> | |
610 </li> | |
611 </ul> | |
612 <% } %> | |
613 </li> | |
614 </ul> | |
615 <% } %> | |
616 | |
617 <% if (visibleConstructors) { %> | |
618 <!-- =========== CONSTRUCTOR DETAIL =========== --> | |
619 <ul class="blockList"> | |
620 <li class="blockList"><a name="constructor_detail"> | |
621 <!-- --> | |
622 </a> | |
623 <h3>Constructor Detail</h3> | |
624 <% visibleConstructors.each { constructor -> %> | |
625 <a name="${nameFromParams(constructor)}"><!-- --></a> | |
626 <ul class="blockListLast"> | |
627 <li class="blockList"> | |
628 <h4>${annotations(constructor, '\n') + modifiers(constructor)}<strong>${constructor.name()}</strong>(${paramsOf(constructor, false)})</h4> | |
629 <p>${constructor.commentText()}</p> | |
630 </li> | |
631 </ul> | |
632 <% } %> | |
633 </li> | |
634 </ul> | |
635 <% } %> | |
636 | |
637 | |
638 <% if (visibleMethods) { %> | |
639 <!-- =========== METHOD DETAIL =========== --> | |
640 <ul class="blockList"> | |
641 <li class="blockList"><a name="method_detail"> | |
642 <!-- --> | |
643 </a> | |
644 <h3>Method Detail</h3> | |
645 <% visibleMethods.each { method -> %> | |
646 <a name="${nameFromParams(method)}"><!-- --></a> | |
647 <ul class="blockListLast"> | |
648 <li class="blockList"> | |
649 <h4>${annotations(method, '\n') + modifiers(method)}${linkable(method.returnType())} <strong>${method.name()}</strong>(${paramsOf(method, false)})</h4> | |
650 <p>${method.commentText()}</p> | |
651 </li> | |
652 </ul> | |
653 <% } %> | |
654 </li> | |
655 </ul> | |
656 <% } %> | |
657 </li> | |
658 </ul> | |
659 </div> | |
660 | |
661 <!-- ========= END OF CLASS DATA ========= --> | |
662 <!-- ======= START OF BOTTOM NAVBAR ====== --> | |
663 <div class="bottomNav"><a name="navbar_bottom"> | |
664 <!-- --> | |
665 </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> | |
666 <!-- --> | |
667 </a> | |
668 <ul class="navList" title="Navigation"> | |
669 <li><a href="${classDoc.relativeRootPath}overview-summary.html">Overview</a></li> | |
670 <li><a href="package-summary.html">Package</a></li> | |
671 <li class="navBarCell1Rev">Class</li> | |
672 <li><a href="${classDoc.relativeRootPath}deprecated-list.html">Deprecated</a></li> | |
673 <li><a href="${classDoc.relativeRootPath}index-all.html">Index</a></li> | |
674 <li><a href="${classDoc.relativeRootPath}help-doc.html">Help</a></li> | |
675 </ul> | |
676 </div> | |
677 | |
678 <div class="subNav"> | |
679 <div> | |
680 <ul class="navList"> | |
681 <li><a href="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}" target="_top">Frames</a></li> | |
682 <li><a href="${classDoc.name()}.html" target="_top">No Frames</a></li> | |
683 </ul> | |
684 </div> | |
685 <div> | |
686 <ul class="subNavList"> | |
687 <li>Summary: </li> | |
688 <% | |
689 if (classDoc.isAnnotationType()) { | |
690 def hasReq = classDoc.fields().any{ isRequired(it, "true") } | |
691 def hasOpt = classDoc.fields().any{ isRequired(it, "false") } | |
692 if (hasReq) { %><li><a href="#required_element_summary"><% } %>Required<% if (hasReq) { %></a></li><% } %> <% | |
693 if (hasOpt) { %><li><a href="#optional_element_summary"><% } %>Optional<% if (hasOpt) { %></a></li><% } %> <% | |
694 } else { | |
695 if (visibleNested) { %><li><a href="#nested_summary"><% } %>Nested<% if (visibleNested) { %></a></li><% } %> <% | |
696 if (classDoc.isEnum()) { | |
697 if (hasEnumConstants) { %><li><a href="#enum_constant_summary"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %> <% | |
698 } | |
699 if (hasFields) { %><li><a href="#field_summary"><% } %>Field<% if (hasFields) { %></a></li><% } %> <% | |
700 if (hasProperties) { %><li><a href="#property_summary">Property</a></li><% } %> <% | |
701 if (classDoc.isClass()) { | |
702 if (visibleConstructors) { %><li><a href="#constructor_summary"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %> <% | |
703 } | |
704 if (visibleMethods) { %><li><a href="#method_summary"><% } %>Method<% if (visibleMethods) { %></a></li><% } %> <% | |
705 } | |
706 %> | |
707 </ul> | |
708 <ul class="subNavList"> | |
709 <li> | Detail: </li> | |
710 <% | |
711 if (classDoc.isAnnotationType()) { | |
712 if (hasElements) { %><li><a href="#element_detail"><% } %>Element<% if (hasElements) { %></a></li><% } %> <% | |
713 } else { | |
714 if (classDoc.isEnum()) { | |
715 if (hasEnumConstants) { %><li><a href="#enum_constant_detail"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %> <% | |
490 } | 716 } |
491 %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | 717 if (hasFields) { %><li><a href="#field_detail"><% } %>Field<% if (hasFields) { %></a></li><% } %> <% |
492 <tr CLASS="TableSubHeadingColor"><th ALIGN="left" COLSPAN="2"> | 718 if (hasProperties) { %><li><a href="#prop_detail">Property</a></li><% } %> <% |
493 <b>Methods inherited from ${c.typeSourceDescription} ${linkable(c)}</b> | 719 if (classDoc.isClass()) { |
494 </th></tr> | 720 if (visibleConstructors) { %><li><a href="#constructor_detail"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %> <% |
495 <tr class="TableRowColor"><td colspan='2'>${list.join(', ')}</td></tr> | 721 } |
496 </table> | 722 if (visibleMethods) { %><li><a href="#method_detail"><% } %>Method<% if (visibleMethods) { %></a></li><% } %> <% |
497 <% | |
498 } | 723 } |
499 } | 724 %> |
500 classes = nextLevel | 725 </ul> |
501 } | 726 </div> |
502 %> | 727 <% if (props.footer) { %><p>${props.footer}</p><% } %> |
503 | 728 <a name="skip-navbar_bottom"> |
504 <P> | 729 <!-- --> |
505 | 730 </a> |
506 <!-- ============ ENUM CONSTANT DETAIL ========== --> | 731 </div> |
507 | 732 </div> |
508 <A NAME="enum_constant_detail"><!-- --></A> | 733 <!-- ======== END OF BOTTOM NAVBAR ======= --> |
509 <% if (hasEnumConstants) { %> | |
510 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
511 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
512 <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> | |
513 <B>Enum Constant Detail</B></FONT></TH> | |
514 </TR> | |
515 </TABLE> | |
516 <% for (ec in classDoc.enumConstants()) { %> | |
517 <A NAME="${ec.name()}"><!-- --></A><H3>${ec.name()}</H3> | |
518 <PRE>${modifiers(ec) + '<a href="' + classDoc.relativeRootPath + classDoc.fullPathName + '.html">' + classDoc.name() + '</a>'} <B>${ec.name()}</B></PRE> | |
519 <DL> | |
520 <DD>${ec.commentText()} | |
521 </DD> | |
522 <P> | |
523 </DL> | |
524 <HR> | |
525 <% } %> | |
526 | |
527 <% } %> | |
528 | |
529 <!-- =========== FIELD DETAIL =========== --> | |
530 | |
531 <A NAME="field_detail"><!-- --></A> | |
532 <% if (hasFields) { %> | |
533 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
534 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
535 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | |
536 <B>Field Detail</B></FONT></TH> | |
537 </TR> | |
538 </TABLE> | |
539 <% for (field in visibleFields) { %> | |
540 <A NAME="${field.name()}"><!-- --></A><H3>${field.name()}</H3> | |
541 <PRE>${annotations(field, '\n') + modifiersWithIgnore(field, false) + linkable(field.type())} <B>${field.name()}</B></PRE> | |
542 <DL> | |
543 <DD>${field.commentText()} | |
544 </DD> | |
545 <P> | |
546 </DL> | |
547 <HR> | |
548 <% } %> | |
549 | |
550 <% } %> | |
551 | |
552 <!-- =========== PROPERTY DETAIL =========== --> | |
553 | |
554 <A NAME="prop_detail"><!-- --></A> | |
555 <% if (hasProperties) { %> | |
556 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
557 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
558 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | |
559 <B>Property Detail</B></FONT></TH> | |
560 </TR> | |
561 </TABLE> | |
562 <% for (prop in visibleProperties) { %> | |
563 <A NAME="${prop.name()}"><!-- --></A><H3>${prop.name()}</H3> | |
564 <PRE>${annotations(prop, '\n') + modifiers(prop) + linkable(prop.type())} <B>${prop.name()}</B></PRE> | |
565 <DL> | |
566 <DD>${prop.commentText()} | |
567 </DD> | |
568 <P> | |
569 </DL> | |
570 <HR> | |
571 <% } %> | |
572 | |
573 <% } %> | |
574 | |
575 <!-- =========== ELEMENT DETAIL =========== --> | |
576 | |
577 <A NAME="element_detail"><!-- --></A> | |
578 <% if (hasElements) { %> | |
579 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
580 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
581 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | |
582 <B>Element Detail</B></FONT></TH> | |
583 </TR> | |
584 </TABLE> | |
585 <% for (element in visibleFields) { %> | |
586 <A NAME="${element.name()}"><!-- --></A><H3>${element.name()}</H3> | |
587 <PRE>${modifiers(element) + linkable(element.type())} <B>${element.name()}</B></PRE> | |
588 <DL> | |
589 <DD>${element.commentText()} | |
590 </DD> | |
591 <P> | |
592 </DL> | |
593 <HR> | |
594 <% } %> | |
595 | |
596 <% } %> | |
597 | |
598 <!-- ========= CONSTRUCTOR DETAIL ======== --> | |
599 | |
600 <A NAME="constructor_detail"><!-- --></A> | |
601 <% if (visibleConstructors) { %> | |
602 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
603 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
604 <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> | |
605 <B>Constructor Detail</B></FONT></TH> | |
606 </TR> | |
607 </TABLE> | |
608 <% for (constructor in visibleConstructors) { %> | |
609 <A NAME="${nameFromParams(constructor)}"><!-- --></A><H3> | |
610 ${constructor.name()}</H3> | |
611 <PRE>${annotations(constructor, '\n') + modifiers(constructor)}<B>${constructor.name()}</B>(${paramsOf(constructor, false)})</PRE> | |
612 <DL> | |
613 <DD>${constructor.commentText()} | |
614 </DD> | |
615 <P> | |
616 </DL> | |
617 <HR> | |
618 <% } %> | |
619 | |
620 <% } %> | |
621 | |
622 <!-- ============ METHOD DETAIL ========== --> | |
623 | |
624 <A NAME="method_detail"><!-- --></A> | |
625 <% if (visibleMethods) { %> | |
626 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
627 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
628 <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> | |
629 <B>Method Detail</B></FONT></TH> | |
630 </TR> | |
631 </TABLE> | |
632 <% for (method in visibleMethods) { %> | |
633 <A NAME="${nameFromParams(method)}"><!-- --></A><H3> | |
634 ${method.name()}</H3> | |
635 <PRE>${annotations(method, '\n') + modifiers(method)}${linkable(method.returnType())} <B>${method.name()}</B>(${paramsOf(method, false)})</PRE> | |
636 <DL> | |
637 <DD>${method.commentText()} | |
638 </DD> | |
639 <P> | |
640 </DL> | |
641 <HR> | |
642 <% } %> | |
643 | |
644 <% } %> | |
645 | |
646 <!-- ========= END OF CLASS DATA ========= --> | |
647 <p>${props['footer']?:""}</p> | |
648 <hr> | |
649 | |
650 </body> | 734 </body> |
651 </html> | 735 </html> |