com.opensymphony.xwork2.util

## Class AnnotationUtils

- java.lang.Object
- - com.opensymphony.xwork2.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 and Description
    `AnnotationUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### AnnotationUtils

          public AnnotationUtils()

  - ### Method Detail

    - #### 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`

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.