Package org.apache.struts2.util

# Class AnnotationUtils

java.lang.Object
org.apache.struts2.util.AnnotationUtils

public class AnnotationUtils extends Object
`AnnotationUtils`

Various utility methods dealing with annotations

Version:
  $Id$
Author:
  Rainer Hermanns, Zsolt Szasz, zsolt at lorecraft dot com, Dan Oxlade, dan d0t oxlade at gmail d0t c0m

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AnnotationUtils()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `addAllFields(Class<? extends Annotation> annotationClass, Class<?> clazz, List<Field> allFields)`
  Adds all fields with the specified Annotation of class clazz and its superclasses to allFields
  `static void`
  `addAllInterfaces(Class<?> clazz, List<Class<?>> allInterfaces)`
  `static void`
  `addAllMethods(Class<? extends Annotation> annotationClass, Class<?> clazz, List<Method> allMethods)`
  Adds all methods with the specified Annotation of class clazz and its superclasses to allFields
  `static <T extends Annotation>
  T`
  `findAnnotation(Class<?> clazz, Class<T> annotationClass)`
  Returns the annotation on the given class or the package of the class.
  `static <T extends Annotation>
  List<T>`
  `findAnnotations(Class<?> clazz, Class<T> annotationClass)`
  Returns a list of the annotation on the given class or the package of the class.
  `static boolean`
  `isAnnotatedBy(AnnotatedElement annotatedElement, Class<? extends Annotation>... annotation)`
  Varargs version of `AnnotatedElement.isAnnotationPresent()`
  `static String`
  `resolvePropertyName(Method method)`
  Returns the property name for a method.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### AnnotationUtils

    public AnnotationUtils()

- ## Method Details

  - ### addAllFields

    public static void addAllFields(Class<? extends Annotation> annotationClass, Class<?> clazz, List<Field> allFields)
    Adds all fields with the specified Annotation of class clazz and its superclasses to allFields
    Parameters:
      `annotationClass` - the `Annotation`s to find
      `clazz` - The `Class` to inspect
      `allFields` - list of all fields

  - ### addAllMethods

    public static void addAllMethods(Class<? extends Annotation> annotationClass, Class<?> clazz, List<Method> allMethods)
    Adds all methods with the specified Annotation of class clazz and its superclasses to allFields
    Parameters:
      `annotationClass` - the `Annotation`s to find
      `clazz` - The `Class` to inspect
      `allMethods` - list of all methods

  - ### addAllInterfaces

    public static void addAllInterfaces(Class<?> clazz, List<Class<?>> allInterfaces)
    Parameters:
      `clazz` - The `Class` to inspect
      `allInterfaces` - list of all interfaces

  - ### resolvePropertyName

    public static String resolvePropertyName(Method method)
    Returns the property name for a method. This method is independent from property fields.
    Parameters:
      `method` - The method to get the property name for.
    Returns:
      the property name for given method; null if non could be resolved.

  - ### findAnnotation

    public static <T extends Annotation> T findAnnotation(Class<?> clazz, Class<T> annotationClass)
    Returns the annotation on the given class or the package of the class. This searches up the class hierarchy and the package hierarchy for the closest match.
    Type Parameters:
      `T` - class type
    Parameters:
      `clazz` - The class to search for the annotation.
      `annotationClass` - The Class of the annotation.
    Returns:
      The annotation or null.

  - ### findAnnotations

    public static <T extends Annotation> List<T> findAnnotations(Class<?> clazz, Class<T> annotationClass)
    Returns a list of the annotation on the given class or the package of the class. This searches up the class hierarchy and the package hierarchy.
    Type Parameters:
      `T` - class type
    Parameters:
      `clazz` - The class to search for the annotation.
      `annotationClass` - The Class of the annotation.
    Returns:
      List of the annotations or an empty list.

  - ### isAnnotatedBy

    @SafeVarargs public static boolean isAnnotatedBy(AnnotatedElement annotatedElement, Class<? extends Annotation>... annotation)
    Varargs version of `AnnotatedElement.isAnnotationPresent()`
    See Also:
      - `AnnotatedElement`