Java Reflection Annotation getAnnotationInHeirarchy(Class annotationClass, Class aClass)

Here you can find the source of getAnnotationInHeirarchy(Class annotationClass, Class aClass)

Description

get Annotation In Heirarchy

License

Open Source License

Declaration

public static Annotation getAnnotationInHeirarchy(Class annotationClass, Class aClass) 

Method Source Code


//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;
    }
}

Related

  1. getAnnotationFromJoinpointMethod(ProceedingJoinPoint joinpoint, Class annotationClass)
  2. getAnnotationFromStackTrace(Class annotationClass)
  3. getAnnotationFromWeldBean(Object target, Class annotation)
  4. getAnnotationFullname(Annotation annotation)
  5. getAnnotationInClass( final Class annotationClass, final Class clazz)
  6. getAnnotationInherited(Class type, Class annotationClass)
  7. getAnnotationInstances(Class clazz, Class annotationClass)
  8. getAnnotationMemberDefaults(Annotation annotation)
  9. getAnnotationMemberType(Annotation annotation, String memberName)