Class AnnotationUtils
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#
- Since:
- 3.0
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic booleanequals(Annotation a1, Annotation a2) Checks if two annotations are equal using the criteria for equality presented in theAnnotation.equals(Object)API docs.static intGenerate a hash code for the given annotation using the algorithm presented in theAnnotation.hashCode()API docs.static booleanisValidAnnotationMemberType(Class<?> type) Checks if the specified type is permitted as an annotation member.static StringGenerate a string representation of an Annotation, as suggested byAnnotation.toString().
- 
Constructor Details- 
AnnotationUtilsDeprecated.TODO Make private in 4.0.AnnotationUtilsinstances 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. 
 
- 
- 
Method Details- 
equalsChecks if two annotations are equal using the criteria for equality presented in theAnnotation.equals(Object)API docs.- Parameters:
- a1- the first Annotation to compare,- nullreturns- falseunless both are- null
- a2- the second Annotation to compare,- nullreturns- falseunless both are- null
- Returns:
- trueif the two annotations are- equalor both- null
 
- 
hashCodeGenerate a hash code for the given annotation using the algorithm presented in theAnnotation.hashCode()API docs.- Parameters:
- a- the Annotation for a hash code calculation is desired, not- null
- Returns:
- the calculated hash code
- Throws:
- RuntimeException- if an- Exceptionis encountered during annotation member access
- IllegalStateException- if an annotation method invocation returns- null
 
- 
isValidAnnotationMemberTypeChecks 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.- Parameters:
- type- the type to check,- null
- Returns:
- trueif the type is a valid type to use in an annotation
 
- 
toStringGenerate a string representation of an Annotation, as suggested byAnnotation.toString().- Parameters:
- a- the annotation of which a string representation is desired
- Returns:
- the standard string representation of an annotation, not
 null
 
 
-