Class AnnotationFinder.Annotatable

java.lang.Object
org.apache.xbean.finder.AnnotationFinder.Annotatable
Direct Known Subclasses:
AnnotationFinder.AnnotationInfo, AnnotationFinder.ClassInfo, AnnotationFinder.FieldInfo, AnnotationFinder.MethodInfo, AnnotationFinder.PackageInfo, AnnotationFinder.ParameterInfo
Enclosing class:
AnnotationFinder

public class AnnotationFinder.Annotatable extends Object
  • Field Details

  • Constructor Details

    • Annotatable

      public Annotatable(AnnotatedElement element)
    • Annotatable

      public Annotatable()
  • Method Details

    • getDeclaredAnnotations

      public Annotation[] getDeclaredAnnotations()
    • getAnnotations

      public List<AnnotationFinder.AnnotationInfo> getAnnotations()
    • getMetaAnnotationName

      public String getMetaAnnotationName()
    • getAnnotations

      private Annotation[] getAnnotations(AnnotatedElement element)
      Utility method to get around some errors caused by interactions between the Equinox class loaders and the OpenJPA transformation process. There is a window where the OpenJPA transformation process can cause an annotation being processed to get defined in a classloader during the actual defineClass call for that very class (e.g., recursively). This results in a LinkageError exception. If we see one of these, retry the request. Since the annotation will be defined on the second pass, this should succeed. If we get a second exception, then it's likely some other problem.
      Parameters:
      element - The AnnotatedElement we need information for.
      Returns:
      An array of the Annotations defined on the element.