Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.lang3
Class AnnotationUtils

    java.lang.Object
      org.apache.commons.lang3.AnnotationUtils

    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" `Annotation`s. 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
Version:
  $Id: AnnotationUtils.java 1083850 2011-03-21 15:59:10Z mbenson $

Constructor Summary
`AnnotationUtils()` `AnnotationUtils` instances should NOT be constructed in standard programming.

Method Summary
`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()`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AnnotationUtils

    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.

Method Detail

### equals

    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.

  Parameters:
    `a1` - the first Annotation to compare, `null` returns `false` unless both are `null`
    `a2` - the second Annotation to compare, `null` returns `false` unless both are `null`
  Returns:
    `true` if the two annotations are `equal` or both `null`

### hashCode

    public static int hashCode(Annotation a)

  Generate a hash code for the given annotation using the algorithm presented in the `Annotation.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 `Exception` is encountered during annotation member access
    `IllegalStateException` - if an annotation method invocation returns `null`

### toString

    public static String toString(Annotation a)

  Generate a string representation of an Annotation, as suggested by `Annotation.toString()`.

  Parameters:
    `a` - the annotation of which a string representation is desired
  Returns:
    the standard string representation of an annotation, not `null`

### isValidAnnotationMemberType

    public 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.

  Parameters:
    `type` - the type to check, `null`
  Returns:
    `true` if the type is a valid type to use in an annotation

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.