Here you can find the source of getAnnotationInHeirarchy(Class annotationClass, Class aClass)
public static Annotation getAnnotationInHeirarchy(Class annotationClass, Class aClass)
//package com.java2s; /*/*from w ww.jav a2 s . co m*/ * Xapp (pronounced Zap!), A automatic gui tool for Java. * Copyright (C) 2009 David Webber. All Rights Reserved. * * The contents of this file may be used under the terms of the GNU Lesser * General Public License Version 2.1 or later. * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. */ import java.lang.annotation.Annotation; public class Main { public static Annotation getAnnotationInHeirarchy(Class annotationClass, Class aClass) { if (aClass.equals(Object.class)) return null; if (aClass.getAnnotation(annotationClass) != null) { return aClass.getAnnotation(annotationClass); } if (aClass.getSuperclass() != null) { Annotation annotation = getAnnotationInHeirarchy(annotationClass, aClass.getSuperclass()); if (annotation != null) { return annotation; } } for (Class anInterface : aClass.getInterfaces()) { Annotation annotation = getAnnotationInHeirarchy(annotationClass, anInterface); if (annotation != null) { return annotation; } } return null; } }