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()
AnnotationUtils instances 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–2018 The Apache Software Foundation. All rights reserved.