Class AbstractEnhancedAnnotated<T,S>
java.lang.Object
org.jboss.weld.annotated.enhanced.jlr.AbstractEnhancedAnnotated<T,S>
- Type Parameters:
T
-S
-
- All Implemented Interfaces:
jakarta.enterprise.inject.spi.Annotated
,EnhancedAnnotated<T,
S>
- Direct Known Subclasses:
AbstractEnhancedAnnotatedMember
,EnhancedAnnotatedParameterImpl
,EnhancedAnnotatedTypeImpl
public abstract class AbstractEnhancedAnnotated<T,S>
extends Object
implements EnhancedAnnotated<T,S>
Represents functionality common for all annotated items, mainly different
mappings of the annotations and meta-annotations
AbstractAnnotatedItem is an immutable class and therefore threadsafe
- Author:
- Pete Muir, Nicklas Karlsson
- See Also:
-
Field Summary
Fields inherited from interface org.jboss.weld.annotated.enhanced.EnhancedAnnotated
MAPPED_DECLARED_METAANNOTATIONS, MAPPED_METAANNOTATIONS
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractEnhancedAnnotated
(jakarta.enterprise.inject.spi.Annotated annotated, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, ClassTransformer classTransformer) Constructor -
Method Summary
Modifier and TypeMethodDescriptionprotected static void
addMetaAnnotations
(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, Iterable<Annotation> metaAnnotations, boolean declared) protected static Map<Class<? extends Annotation>,
Annotation> buildAnnotationMap
(Iterable<Annotation> annotations) Builds the annotation map (annotation type -> annotation)Type[]
Gets the actual type arguments for any parameterized types that this AnnotatedItem represents.<A extends Annotation>
AgetAnnotation
(Class<A> annotationType) Deprecated.abstract S
Get the type hierarchy of any interfaces implemented by this class.Gets the type of the elementgetMetaAnnotations
(Class<? extends Annotation> metaAnnotationType) Gets all annotations which are annotated with the given meta annotation typeDeprecated.boolean
isAnnotationPresent
(Class<? extends Annotation> annotationType) boolean
boolean
protected void
processMetaAnnotations
(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation[] annotations, ClassTransformer classTransformer, boolean declared) protected void
processMetaAnnotations
(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, ClassTransformer classTransformer, boolean declared) protected void
processMetaAnnotations
(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Collection<Annotation> annotations, ClassTransformer classTransformer, boolean declared) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface jakarta.enterprise.inject.spi.Annotated
getAnnotations
Methods inherited from interface org.jboss.weld.annotated.enhanced.EnhancedAnnotated
getName, getPackage, isFinal, isGeneric, isPackagePrivate, isPrivate, isPublic, isStatic, slim
-
Constructor Details
-
AbstractEnhancedAnnotated
public AbstractEnhancedAnnotated(jakarta.enterprise.inject.spi.Annotated annotated, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, ClassTransformer classTransformer) Constructor Also builds the meta-annotation map. Throws a NullPointerException if trying to register a null map- Parameters:
annotationMap
- A map of annotation to register
-
-
Method Details
-
buildAnnotationMap
protected static Map<Class<? extends Annotation>,Annotation> buildAnnotationMap(Iterable<Annotation> annotations) Builds the annotation map (annotation type -> annotation)- Parameters:
annotations
- The array of annotations to map- Returns:
- The annotation map
-
addMetaAnnotations
protected static void addMetaAnnotations(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, Iterable<Annotation> metaAnnotations, boolean declared) -
processMetaAnnotations
protected void processMetaAnnotations(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Collection<Annotation> annotations, ClassTransformer classTransformer, boolean declared) -
processMetaAnnotations
protected void processMetaAnnotations(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation[] annotations, ClassTransformer classTransformer, boolean declared) -
processMetaAnnotations
protected void processMetaAnnotations(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, ClassTransformer classTransformer, boolean declared) -
getJavaClass
Description copied from interface:EnhancedAnnotated
Gets the type of the element- Specified by:
getJavaClass
in interfaceEnhancedAnnotated<T,
S> - Returns:
- The type of the element
-
getActualTypeArguments
Description copied from interface:EnhancedAnnotated
Gets the actual type arguments for any parameterized types that this AnnotatedItem represents.- Specified by:
getActualTypeArguments
in interfaceEnhancedAnnotated<T,
S> - Returns:
- An array of type arguments
-
getInterfaceClosure
Description copied from interface:EnhancedAnnotated
Get the type hierarchy of any interfaces implemented by this class. The returned types should have any type parameters resolved to their actual types. There is no guarantee this methods executes in O(1) time- Specified by:
getInterfaceClosure
in interfaceEnhancedAnnotated<T,
S> - Returns:
- the type hierarchy
-
getDelegate
-
isParameterizedType
public boolean isParameterizedType()- Specified by:
isParameterizedType
in interfaceEnhancedAnnotated<T,
S>
-
isPrimitive
public boolean isPrimitive()- Specified by:
isPrimitive
in interfaceEnhancedAnnotated<T,
S>
-
getBaseType
- Specified by:
getBaseType
in interfacejakarta.enterprise.inject.spi.Annotated
-
getTypeClosure
- Specified by:
getTypeClosure
in interfacejakarta.enterprise.inject.spi.Annotated
-
getAnnotations
- Specified by:
getAnnotations
in interfacejakarta.enterprise.inject.spi.Annotated
-
getMetaAnnotations
Description copied from interface:EnhancedAnnotated
Gets all annotations which are annotated with the given meta annotation type- Specified by:
getMetaAnnotations
in interfaceEnhancedAnnotated<T,
S> - Returns:
- A set of matching meta-annotations. Returns an empty set if there are no matches.
-
getQualifiers
Deprecated.Description copied from interface:EnhancedAnnotated
Gets the binding types for this element- Specified by:
getQualifiers
in interfaceEnhancedAnnotated<T,
S>
-
getBindingsAsArray
Deprecated.Description copied from interface:EnhancedAnnotated
Gets the binding types for this element- Specified by:
getBindingsAsArray
in interfaceEnhancedAnnotated<T,
S>
-
getAnnotation
- Specified by:
getAnnotation
in interfacejakarta.enterprise.inject.spi.Annotated
-
isAnnotationPresent
- Specified by:
isAnnotationPresent
in interfacejakarta.enterprise.inject.spi.Annotated
-