Description

get Annotations

License

Apache License

Parameter

Parameter Description
annotation a parameter
annocations a parameter

Declaration

@SuppressWarnings("unchecked")
public static <A extends Annotation> A[] getAnnotations(Class<A> annotation,
        Collection<? extends Annotation> annotations) 

Method Source Code

//package com.java2s;
/*//from w  ww  .j  av a 2s  .co  m
 * Copyright 2016-2017 Daniel Siviter
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * 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 java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;

public class Main {
    /**
     * 
     * @param annotation
     * @param annocations
     * @return
     */
    @SuppressWarnings("unchecked")
    public static <A extends Annotation> A[] getAnnotations(Class<A> annotation,
            Collection<? extends Annotation> annotations) {
        final Collection<A> found = new ArrayList<>();
        for (Annotation a : annotations) {
            if (annotation.isAssignableFrom(annotation)) {
                found.add(annotation.cast(a));
            }
        }
        return found.toArray((A[]) Array.newInstance(annotation, 0));
    }
}

Related

  1. getAnnotations(AnnotatedElement annotated)
  2. getAnnotations(Annotation[][] annotations)
  3. getAnnotations(Class cls)
  4. getAnnotations(Class annotationClass, Annotation[] annotations)
  5. getAnnotations(Class c, Class annotationClass)
  6. getAnnotations(Class ann, Object o, Method m, int param)
  7. getAnnotations(Enum targetEnum, Class targetAnnotationClass)
  8. getAnnotations(Field field)
  9. getAnnotations(final Class c, final Class annClass)