<% // TODO enable errors(), enums() etc in SimpleGroovyPackageDoc then replace closures below def classTypes = [ "Interface" : { it.isInterface() }, "Class" : { it.isClass() && !it.parentClasses*.qualifiedTypeName().contains('java.lang.Throwable') }, "Enum" : { it.isEnum() }, "Exception" : { it.isClass() && it.parentClasses*.qualifiedTypeName().contains('java.lang.Exception') }, "Error" : { it.isClass() && it.parentClasses*.qualifiedTypeName().contains('java.lang.Error') }, "Annotation Type" : { it.isAnnotationType() } ] def pluralize = { name -> name + (name.endsWith("s") ? "es" : "s") } %> ${packageDoc.nameWithDots()} <% classTypes.each{ k, v -> if (packageDoc.allClasses().any{ v(it) }) { %>
${pluralize(k)}  <% for (classDoc in packageDoc.allClasses()) { if (v(classDoc)) { %>
<% if (classDoc.isInterface()) { %><% } %>${classDoc.name()}<% if (classDoc.isInterface()) { %><% } %><% } } %>
<% } %> <% } %>