Package org.apache.xbean.finder
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 java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<AbstractFinder.AnnotationInfo>
annotations
-
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.
-
-
-
Field Detail
-
annotations
private final java.util.List<AbstractFinder.AnnotationInfo> annotations
-
-
Method Detail
-
getAnnotations
public java.util.List<AbstractFinder.AnnotationInfo> getAnnotations()
-
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.
-
-