<% def subtitle = 'Deprecated API' def title = subtitle + (props.windowTitle ? " (${props.windowTitle})" : "") // TODO enable errors(), enums() etc in SimpleGroovyPackageDoc then replace closures below def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' } def classTypes = [ "Interface" : { it.isInterface() && it.isDeprecated() }, "Trait" : { it.isTrait() && it.isDeprecated() }, "Class" : { it.isClass() && !it.parentClasses*.qualifiedTypeName().contains('java.lang.Throwable') && it.isDeprecated() }, "Enum" : { it.isEnum() && it.isDeprecated() }, "Exception" : { it.isClass() && it.parentClasses*.qualifiedTypeName().contains('java.lang.Exception') && it.isDeprecated() }, "Error" : { it.isClass() && it.parentClasses*.qualifiedTypeName().contains('java.lang.Error') && it.isDeprecated() }, "Annotation Type" : { it.isAnnotationType() && it.isDeprecated() } ] def deprecations = [:] classTypes.each{ k, v -> deprecations[k] = rootDoc.classes().any{ isVisible(it) && v(it) } } def methodTypes = [ "Method" : { it.methods().findAll{ it.isDeprecated() } }, "Constructor" : { it.constructors().findAll{ it.isDeprecated() } }, ] methodTypes.each{ k, v -> deprecations[k] = rootDoc.classes().any{ isVisible(it) && v(it) } } def fieldTypes = [ "Field" : { it.fields().findAll{ it.isDeprecated() } }, "Property" : { it.properties().findAll{ it.isDeprecated() } }, "Enum Constant" : { it.enumConstants().findAll{ it.isDeprecated() } }, ] fieldTypes.each{ k, v -> deprecations[k] = rootDoc.classes().any{ isVisible(it) && v(it) } } def pluralize = { name -> name.endsWith('y')?name.substring(0, name.length()-1)+'ies':(name + (name.endsWith("s") ? "es" : "s")) } def dolink = { t, classDoc, boolean b -> if (!t || t instanceof String) { return classDoc.getDocUrl(t, b) } if (t instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) { return "" + (b ? t.qualifiedTypeName() : t.name()) + "" } return classDoc.getDocUrl(t.qualifiedTypeName(), b) } def linkable = { t, classDoc -> dolink(t, classDoc, false) } def modifiersBrief = { t -> (t.isPrivate()?"private ":"") + (t.isProtected()?"protected ":"") + (t.isStatic()?"static ":"") } def paramsOf = { n, classDoc, boolean brief -> n.parameters().collect{ param -> (brief?'':annotations(param, ' ')) + linkable(param.isTypeAvailable()?param.type():param.typeName(), classDoc) + ' ' + param.name() + (param.defaultValue() ? " = " + param.defaultValue():"") }.join(", ") } def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' } %> ${title}

Deprecated API

Contents

<% fieldTypes.each{ k, v -> if (deprecations[k]) { %> <% } // if rootDoc.classes() } // fieldTypes.each classTypes.each{ k, v -> if (deprecations[k]) { %> <% } // if rootDoc.classes() } // classTypes.each methodTypes.each{ k, v -> if (deprecations[k]) { %> <% } // if (rootDoc.classes() } // methodTypes.each %>