[
https://issues.jboss.org/browse/SOLDER-52?page=com.atlassian.jira.plugin....
]
Dan Allen commented on SOLDER-52:
---------------------------------
Proposed methods:
public static <A extends Annotation> boolean isAnnotationPresent(Annotated
annotated, final Class<A> annotationType, BeanManager beanManager)
{
if (annotated.isAnnotationPresent(annotationType))
{
return true;
}
for (Annotation candidate : annotated.getAnnotations())
{
if (beanManager.isStereotype(candidate.annotationType()))
{
for (Annotation stereotyped :
beanManager.getStereotypeDefinition(candidate.annotationType()))
{
if (stereotyped.annotationType().equals(annotationType))
{
return true;
}
}
}
}
return false;
}
public static <A extends Annotation> boolean getAnnotation(Annotated annotated,
final Class<A> annotationType, BeanManager beanManager)
{
Annotation found = annotated.getAnnotation(annotationType);
if (found != null)
{
return annotationType.cast(found);
}
for (Annotation candidate : annotated.getAnnotations())
{
if (beanManager.isStereotype(candidate.annotationType()))
{
for (Annotation stereotyped :
beanManager.getStereotypeDefinition(candidate.annotationType()))
{
if (stereotyped.annotationType().equals(annotationType))
{
return annotationType.cast(stereotyped);
}
}
}
}
return null;
}
Though we should probably expand this to handle three flags:
1. Only look on Annotated
2. Look on Annotated or stereotypes
3. Look on Annotated or as meta-annotation
There are holes in the scenarios covered by the existing methods as well.
Add methods to AnnotationIntrospector that operate on Annotated (from
CDI)
--------------------------------------------------------------------------
Key: SOLDER-52
URL:
https://issues.jboss.org/browse/SOLDER-52
Project: Seam Solder
Issue Type: Feature Request
Reporter: Dan Allen
The AnnotationIntrospector works on java.lang.reflect.AnnotatedElement types. However, in
an extension, you are most often dealing with an Annotated. Therefore, the
AnnotationIntrospector should provide parallel utilities for retrieving/checking an
annotation on Annotated or any stereotype on Annotated.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira