org.apache.webbeans.util
Class AnnotationUtil

java.lang.Object
  extended by org.apache.webbeans.util.AnnotationUtil

public final class AnnotationUtil
extends Object

Utility class related with Annotation operations.

Since:
1.0
Author:
Gurkan Erdogdu

Field Summary
static Annotation[] EMPTY_ANNOTATION_ARRAY
           
static Object[] EMPTY_OBJECT_ARRAY
           
 
Method Summary
static
<X,T extends Annotation>
T
getAnnotatedMethodFirstParameterAnnotation(javax.enterprise.inject.spi.AnnotatedMethod<X> annotatedMethod, Class<T> clazz)
           
static
<X> Type
getAnnotatedMethodFirstParameterWithAnnotation(javax.enterprise.inject.spi.AnnotatedMethod<X> annotatedMethod, Class<? extends Annotation> clazz)
           
static
<T extends Annotation>
T
getAnnotation(Annotation[] anns, Class<T> annotation)
          get the annotation of the given type from the array.
static
<T extends Annotation>
T
getAnnotation(Set<Annotation> annotations, Class<T> annotationClass)
          Search in the given Set of Annotations for the one with the given AnnotationClass.
static Annotation[] getAnnotationsFromSet(Set<Annotation> set)
           
static Annotation[] getMetaAnnotations(Annotation[] anns, Class<? extends Annotation> metaAnnotation)
          Returns a subset of annotations that are annotated with the specified meta-annotation
static
<T extends Annotation>
T
getMethodFirstParameterAnnotation(Method method, Class<T> clazz)
          Gets the method first found parameter annotation with given type.
static Type getMethodFirstParameterWithAnnotation(Method method, Class<? extends Annotation> clazz)
          Gets the method first found parameter type that is annotated with the given annotation.
static Method[] getMethodsWithParameterAnnotation(Class<?> clazz, Class<? extends Annotation> annotation)
          Gets array of methods that has parameter with given annotation type.
static Type getTypeOfParameterWithGivenAnnotation(Method method, Class<? extends Annotation> clazz)
          Get the Type of the method parameter which has the given annotation
static
<X> boolean
hasAnnotatedMethodMultipleParameterAnnotation(javax.enterprise.inject.spi.AnnotatedMethod<X> annotatedMethod, Class<? extends Annotation> clazz)
           
static
<X> boolean
hasAnnotatedMethodParameterAnnotation(javax.enterprise.inject.spi.AnnotatedMethod<X> annotatedMethod, Class<? extends Annotation> clazz)
           
static boolean hasAnnotation(Annotation[] anns, Class<? extends Annotation> annotation)
           
static boolean hasAnyQualifier(javax.enterprise.inject.spi.Bean<?> bean)
          Returns true if any binding exist
static boolean hasClassAnnotation(Class<?> clazz, Class<? extends Annotation> annotation)
          Check whether or not class contains the given annotation.
static boolean hasMetaAnnotation(Annotation[] anns, Class<? extends Annotation> metaAnnotation)
           
static boolean hasMethodAnnotation(Method method, Class<? extends Annotation> clazz)
          Check given annotation exist on the method.
static boolean hasMethodMultipleParameterAnnotation(Method method, Class<? extends Annotation> clazz)
          Check given annotation exist in the multiple parameter of the given method.
static boolean hasMethodParameterAnnotation(Method method, Class<? extends Annotation> clazz)
          Check given annotation exist in the any parameter of the given method.
static Annotation hasOwbInjectableResource(Annotation[] annotations)
           
static boolean isQualifierEqual(Annotation qualifier1, Annotation qualifier2)
          Checks if the given qualifiers are equal.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_ANNOTATION_ARRAY

public static final Annotation[] EMPTY_ANNOTATION_ARRAY

EMPTY_OBJECT_ARRAY

public static final Object[] EMPTY_OBJECT_ARRAY
Method Detail

hasMethodAnnotation

public static boolean hasMethodAnnotation(Method method,
                                          Class<? extends Annotation> clazz)
Check given annotation exist on the method.

Parameters:
method - method
clazz - annotation class
Returns:
true or false

hasMethodParameterAnnotation

public static boolean hasMethodParameterAnnotation(Method method,
                                                   Class<? extends Annotation> clazz)
Check given annotation exist in the any parameter of the given method. Return true if exist false otherwise.

Parameters:
method - method
clazz - checking annotation
Returns:
true or false

hasAnnotatedMethodParameterAnnotation

public static <X> boolean hasAnnotatedMethodParameterAnnotation(javax.enterprise.inject.spi.AnnotatedMethod<X> annotatedMethod,
                                                                Class<? extends Annotation> clazz)

hasMethodMultipleParameterAnnotation

public static boolean hasMethodMultipleParameterAnnotation(Method method,
                                                           Class<? extends Annotation> clazz)
Check given annotation exist in the multiple parameter of the given method. Return true if exist false otherwise.

Parameters:
method - method
clazz - checking annotation
Returns:
true or false

hasAnnotatedMethodMultipleParameterAnnotation

public static <X> boolean hasAnnotatedMethodMultipleParameterAnnotation(javax.enterprise.inject.spi.AnnotatedMethod<X> annotatedMethod,
                                                                        Class<? extends Annotation> clazz)

getMethodFirstParameterWithAnnotation

public static Type getMethodFirstParameterWithAnnotation(Method method,
                                                         Class<? extends Annotation> clazz)
Gets the method first found parameter type that is annotated with the given annotation.

Parameters:
method - method
clazz - checking annotation
Returns:
type

getAnnotatedMethodFirstParameterWithAnnotation

public static <X> Type getAnnotatedMethodFirstParameterWithAnnotation(javax.enterprise.inject.spi.AnnotatedMethod<X> annotatedMethod,
                                                                      Class<? extends Annotation> clazz)

getTypeOfParameterWithGivenAnnotation

public static Type getTypeOfParameterWithGivenAnnotation(Method method,
                                                         Class<? extends Annotation> clazz)
Get the Type of the method parameter which has the given annotation

Parameters:
method - which need to be scanned
clazz - the annotation to scan the method parameters for
Returns:
the Type of the method parameter which has the given annotation, or null if not found.

getMethodFirstParameterAnnotation

public static <T extends Annotation> T getMethodFirstParameterAnnotation(Method method,
                                                                         Class<T> clazz)
Gets the method first found parameter annotation with given type.

Parameters:
method - method
clazz - checking annotation
Returns:
annotation

getAnnotatedMethodFirstParameterAnnotation

public static <X,T extends Annotation> T getAnnotatedMethodFirstParameterAnnotation(javax.enterprise.inject.spi.AnnotatedMethod<X> annotatedMethod,
                                                                                    Class<T> clazz)

isQualifierEqual

public static boolean isQualifierEqual(Annotation qualifier1,
                                       Annotation qualifier2)
Checks if the given qualifiers are equal. Qualifiers are equal if they have the same annotationType and all their methods, except those annotated with @Nonbinding, return the same value.

Parameters:
qualifier1 -
qualifier2 -
Returns:

getMethodsWithParameterAnnotation

public static Method[] getMethodsWithParameterAnnotation(Class<?> clazz,
                                                         Class<? extends Annotation> annotation)
Gets array of methods that has parameter with given annotation type.

Parameters:
clazz - class for check
annotation - for check
Returns:
array of methods

hasClassAnnotation

public static boolean hasClassAnnotation(Class<?> clazz,
                                         Class<? extends Annotation> annotation)
Check whether or not class contains the given annotation.

Parameters:
clazz - class instance
annotation - annotation class
Returns:
return true or false

hasMetaAnnotation

public static boolean hasMetaAnnotation(Annotation[] anns,
                                        Class<? extends Annotation> metaAnnotation)

hasAnnotation

public static boolean hasAnnotation(Annotation[] anns,
                                    Class<? extends Annotation> annotation)

getAnnotation

public static <T extends Annotation> T getAnnotation(Annotation[] anns,
                                                     Class<T> annotation)
get the annotation of the given type from the array.

Parameters:
anns -
annotation -
Returns:
the Annotation with the given type or null if no such found.

getMetaAnnotations

public static Annotation[] getMetaAnnotations(Annotation[] anns,
                                              Class<? extends Annotation> metaAnnotation)
Returns a subset of annotations that are annotated with the specified meta-annotation

Parameters:
anns -
metaAnnotation -
Returns:

hasAnyQualifier

public static boolean hasAnyQualifier(javax.enterprise.inject.spi.Bean<?> bean)
Returns true if any binding exist

Parameters:
bean - bean
Returns:
true if any binding exist

getAnnotation

public static <T extends Annotation> T getAnnotation(Set<Annotation> annotations,
                                                     Class<T> annotationClass)
Search in the given Set of Annotations for the one with the given AnnotationClass.

Parameters:
annotations - to scan
annotationClass - to search for
Returns:
the annotation with the given annotationClass or null if not found.

hasOwbInjectableResource

public static Annotation hasOwbInjectableResource(Annotation[] annotations)

getAnnotationsFromSet

public static Annotation[] getAnnotationsFromSet(Set<Annotation> set)


Copyright © 2008-2012 The Apache Software Foundation. All Rights Reserved.