NIHVIVO-564 Exclude methods declared on BaseTemplateModel from describe directive display.

This commit is contained in:
rjy7 2010-08-09 16:43:17 +00:00
parent 698d0877c3
commit badfac1321

View file

@ -116,10 +116,11 @@ public class DescribeDirective extends BaseTemplateDirectiveModel {
}
private List<Method> getPublicMethods(Class<?> cls) {
List<Method> methods = new ArrayList<Method>();
List<Method> methods = getDeclaredPublicMethods(cls);
// Don't get methods for classes higher in the class hierarchy than BaseTemplateModel.
// Go up the class hierarchy only until we get to the immediate subclass of BaseTemplateModel
if (! cls.getName().equals("edu.cornell.mannlib.vitro.webapp.web.templatemodels.BaseTemplateModel")) {
methods = getDeclaredPublicMethods(cls);
methods.addAll(getPublicMethods(cls.getSuperclass()));
}