Java Reflection Annotation Find findAnnotationInAnyParameter(Method method, Class annotationClass)

Here you can find the source of findAnnotationInAnyParameter(Method method, Class annotationClass)

Description

Tries to extract the first occurrence an annotation of a certain class inside a method's parameters.

License

Open Source License

Parameter

Parameter Description
method the method whose parameter annotations will be searched
annotationClass the annotation class to search

Return

the annotation, if found; null otherwise

Declaration

public static <A extends Annotation> A findAnnotationInAnyParameter(Method method, Class<A> annotationClass) 

Method Source Code

//package com.java2s;
/**/*from  w ww  .  j a va  2s.  c  o m*/
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

public class Main {
    /**
     * Tries to extract the first occurrence an annotation of a certain class
     * inside a method's parameters. Returns {@code null} if the annotation
     * could not be found.
     *
     * @param  method the method whose parameter annotations will be searched
     * @param  annotationClass the annotation class to search
     * @return the annotation, if found; {@code null} otherwise
     * @review
     */
    public static <A extends Annotation> A findAnnotationInAnyParameter(Method method, Class<A> annotationClass) {

        for (Parameter parameter : method.getParameters()) {
            if (parameter.isAnnotationPresent(annotationClass)) {
                return parameter.getAnnotation(annotationClass);
            }
        }

        return null;
    }
}

Related

  1. findAnnotationFromClass(Class target, Class annotation)
  2. findAnnotationFromMethodOrClass(final Method method, final Class annotationClass)
  3. findAnnotationHelper( Class base, Type iface)
  4. findAnnotationIn(List modifiers, Class clazz)
  5. findAnnotationInAnnotations(AnnotatedElement annotatedElement, Class annotationClass)
  6. findAnnotationInMethodOrInItsAnnotations(Method method, Class annotationClass)
  7. findAnnotationMethods(String fullClassName, Class anno)
  8. findAnnotationsMap(Class a, Class c)
  9. findAnnotationSuperClasses(Class annotationClass, Class c)