Java Reflection Annotation getAnnotation(@Nonnull Annotation[] annotations, @Nonnull Class annotation)

Here you can find the source of getAnnotation(@Nonnull Annotation[] annotations, @Nonnull Class annotation)

Description

Retrieve the annotation of given type from array of annotations

License

Apache License

Parameter

Parameter Description
annotations a parameter
annotation a parameter

Declaration

@Nullable
public static <T> T getAnnotation(@Nonnull Annotation[] annotations, @Nonnull Class<T> annotation) 

Method Source Code


//package com.java2s;
/*/*w ww  .  j  a va  2  s  .c  om*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * See the NOTICE file distributed with this work for additional information
 * regarding copyright ownership. You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

import java.lang.annotation.Annotation;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public class Main {
    /**
     * Retrieve the annotation of given type from array of annotations
     *
     * @param annotations
     * @param annotation
     * @return
     */
    @Nullable
    public static <T> T getAnnotation(@Nonnull Annotation[] annotations, @Nonnull Class<T> annotation) {
        if (annotations == null || annotations.length == 0) {
            return null;
        }

        for (Annotation a : annotations) {
            if (annotation.isAssignableFrom(a.getClass())) {
                return (T) a;
            }
        }

        return null;
    }
}

Related

  1. getAnnotation( final AnnotatedElement anElement, final Class annotationClass)
  2. getAnnotation( final Method method, final Class annotationClass)
  3. getAnnotation(@Nonnull Class cls, @Nonnull Class annotation)
  4. getAnnotation(AnnotatedElement ae, Class annotationType)
  5. getAnnotation(AnnotatedElement aobj, Class aClass)
  6. getAnnotation(AnnotatedElement element, Class annotation)