Class AbstractFinder.Annotatable

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

public class AbstractFinder.Annotatable extends Object
  • Field Details

  • Constructor Details

    • Annotatable

      public Annotatable(AnnotatedElement element)
    • Annotatable

      public Annotatable()
  • Method Details

    • getAnnotations

      public List<AbstractFinder.AnnotationInfo> getAnnotations()
    • 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.