Class AbstractFinder.Annotatable

    • Constructor Summary

      Constructors 
      Constructor Description
      Annotatable()  
      Annotatable​(java.lang.reflect.AnnotatedElement element)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<AbstractFinder.AnnotationInfo> getAnnotations()  
      private java.lang.annotation.Annotation[] getAnnotations​(java.lang.reflect.AnnotatedElement element)
      Utility method to get around some errors caused by interactions between the Equinox class loaders and the OpenJPA transformation process.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Annotatable

        public Annotatable​(java.lang.reflect.AnnotatedElement element)
      • Annotatable

        public Annotatable()
    • Method Detail

      • getAnnotations

        private java.lang.annotation.Annotation[] getAnnotations​(java.lang.reflect.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.