public class AnnotationUtils extends Object
Helper methods for working with Annotation instances.
This class contains various utility methods that make working with annotations simpler.
Annotation instances are always proxy objects; unfortunately
 dynamic proxies cannot be depended upon to know how to implement certain
 methods in the same manner as would be done by "natural" Annotations.
 The methods presented in this class can be used to avoid that possibility. It
 is of course also possible for dynamic proxies to actually delegate their
 e.g. Annotation.equals(Object)/Annotation.hashCode()/
 Annotation.toString() implementations to AnnotationUtils.
#ThreadSafe#
| Constructor and Description | 
|---|
| AnnotationUtils()AnnotationUtilsinstances should NOT be constructed in
 standard programming. | 
| Modifier and Type | Method and Description | 
|---|---|
| static boolean | equals(Annotation a1,
      Annotation a2)Checks if two annotations are equal using the criteria for equality
 presented in the  Annotation.equals(Object)API docs. | 
| static int | hashCode(Annotation a)Generate a hash code for the given annotation using the algorithm
 presented in the  Annotation.hashCode()API docs. | 
| static boolean | isValidAnnotationMemberType(Class<?> type)Checks if the specified type is permitted as an annotation member. | 
| static String | toString(Annotation a)Generate a string representation of an Annotation, as suggested by
  Annotation.toString(). | 
public AnnotationUtils()
AnnotationUtils instances should NOT be constructed in
 standard programming. Instead, the class should be used statically.
This constructor is public to permit tools that require a JavaBean instance to operate.
public static boolean equals(Annotation a1, Annotation a2)
Checks if two annotations are equal using the criteria for equality
 presented in the Annotation.equals(Object) API docs.
a1 - the first Annotation to compare, null returns
 false unless both are nulla2 - the second Annotation to compare, null returns
 false unless both are nulltrue if the two annotations are equal or both
 nullpublic static int hashCode(Annotation a)
Generate a hash code for the given annotation using the algorithm
 presented in the Annotation.hashCode() API docs.
a - the Annotation for a hash code calculation is desired, not
 nullRuntimeException - if an Exception is encountered during
 annotation member accessIllegalStateException - if an annotation method invocation returns
 nullpublic static String toString(Annotation a)
Generate a string representation of an Annotation, as suggested by
 Annotation.toString().
a - the annotation of which a string representation is desirednullpublic static boolean isValidAnnotationMemberType(Class<?> type)
Checks if the specified type is permitted as an annotation member.
The Java language specification only permits certain types to be used
 in annotations. These include String, Class, primitive
 types, Annotation, Enum, and single-dimensional arrays of
 these types.
type - the type to check, nulltrue if the type is a valid type to use in an annotationCopyright © 2001–2016 The Apache Software Foundation. All rights reserved.