<% // 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() }, "Script" : { it.isScript() } ] def pluralize = { name -> name + (name.endsWith("s") ? "es" : "s") } %> ${packageDoc.nameWithDots()} <% def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } classTypes.each{ k, v -> if (packageDoc.allClasses().any{ isVisible(it) && v(it) }) { %>
${pluralize(k)}  <% for (classDoc in packageDoc.allClasses().findAll{ isVisible(it) && v(it) }) { %>
<% if (classDoc.isInterface()) { %><% } %>${classDoc.name()}<% if (classDoc.isInterface()) { %><% } %><% } %>
<% } %> <% } %>