Package io.micronaut.core.annotation
Interface AnnotationMetadataProvider
- All Superinterfaces:
AnnotationSource
- All Known Subinterfaces:
AbstractAnnotationMetadataBuilder.CachedAnnotationMetadata,AdvisedBeanType<T>,AnnotatedElement,AnnotationElement,AnnotationMetadataDelegate,Argument<T>,ArgumentConversionContext<T>,ArgumentInjectionPoint<B,,T> ArgumentValue<V>,ArrayableClassElement,BeanConfiguration,BeanConstructor<T>,BeanConstructorElement,BeanDefinition<T>,BeanDefinitionMethodReference<T,,R> BeanDefinitionReference<T>,BeanElement,BeanElementBuilder,BeanFieldElement,BeanInfo<T>,BeanIntrospection<T>,BeanIntrospectionReference<T>,BeanMethod<B,,T> BeanMethodElement,BeanParameterElement,BeanProperty<B,,T> BeanReadProperty<B,,T> BeanType<T>,BeanWrapper<T>,BeanWriteProperty<B,,T> BoundExecutable<T,,R> CallableInjectionPoint<T>,ClassElement,ConfigurableElement,ConstructorElement,ConstructorInjectionPoint<T>,ConstructorInvocationContext<T>,ConversionContext,DelegatingBeanDefinition<T>,DelegatingExecutableMethod<T,,R> DisposableBeanDefinition<T>,Element,ElementAnnotationMetadata,ElementMutableAnnotationMetadataDelegate<R>,EnumBeanIntrospection<E>,EnumBeanIntrospection.EnumConstant<E>,EnumConstantElement,EnumElement,ErrorRouteInfo<T,,R> Executable<T,,R> ExecutableMethod<T,,R> ExecutionHandle<T,,R> FieldElement,FieldInjectionPoint<B,,T> FilterRoute,GenericElement,GenericPlaceholder<T>,GenericPlaceholderElement,GraalReflectionConfigurer,HttpFilterResolver.FilterEntry,ImmutableArgumentConversionContext<T>,InitializingBeanDefinition<T>,InjectableBeanDefinition<T>,InjectableElement,InjectionPoint<T>,InstantiatableBeanDefinition<T>,InvocationContext<T,,R> KotlinParameterElement,MemberElement,MethodBasedRouteInfo<T,,R> MethodBasedRouteMatch<T,,R> MethodElement,MethodExecutionHandle<T,,R> MethodInjectionPoint<B,,T> MethodInvocationContext<T,,R> MethodReference<T,,R> MutableAnnotationMetadataDelegate<R>,MutableArgumentValue<V>,PackageElement,ParameterElement,ParametrizedInstantiatableBeanDefinition<T>,PropertyElement,ProxyBeanDefinition<T>,QualifiedBeanType<T>,ReturnType<T>,RouteInfo<R>,RouteMatch<R>,RuntimeBeanDefinition<T>,StatusRouteInfo<T,,R> TypedElement,TypeInformation<T>,UnsafeBeanInstantiationIntrospection<T>,UnsafeBeanProperty<B,,T> UnsafeBeanReadProperty<B,,T> UnsafeBeanWriteProperty<B,,T> UnsafeExecutable<T,,R> UnsafeExecutionHandle<T,,R> UriRouteInfo<T,,R> UriRouteMatch<T,,R> ValidatedBeanDefinition<T>,WildcardElement
- All Known Implementing Classes:
AbstractAnnotationElement,AbstractBeanConfiguration,AbstractBeanConstructor,AbstractBeanDefinitionBeanConstructor,AbstractBeanDefinitionBuilder,AbstractBeanIntrospectionReference,AbstractBeanMethod,AbstractBeanProperty,AbstractBeanResolutionContext.AnnotationSegment,AbstractBeanResolutionContext.ConstructorArgumentSegment,AbstractBeanResolutionContext.ConstructorSegment,AbstractBeanResolutionContext.EventListenerSegment,AbstractBeanResolutionContext.FieldSegment,AbstractBeanResolutionContext.MethodArgumentSegment,AbstractBeanResolutionContext.MethodSegment,AbstractElementAnnotationMetadata,AbstractElementAnnotationMetadataFactory.AbstractElementAnnotationMetadata,AbstractElementAnnotationMetadataFactory.MutableElementAnnotationMetadata,AbstractEnumBeanIntrospectionAndReference,AbstractEnumBeanIntrospectionAndReference.EnumConstantDynamicRef,AbstractEnumBeanIntrospectionAndReference.EnumConstantRef,AbstractExecutableBeanMethod,AbstractExecutableMethod,AbstractGroovyElement,AbstractInitializableBeanDefinition,AbstractInitializableBeanDefinitionAndReference,AbstractInitializableBeanDefinitionReference,AbstractInitializableBeanIntrospection,AbstractInitializableBeanIntrospectionAndReference,AbstractJavaElement,AbstractJavaMemberElement,AbstractMutableAnnotationMetadata,AbstractProviderDefinition,AbstractTypeAwareJavaElement,AnnotationMetadataReference,ApplicationEventPublisherFactory,ArgumentBeanType,BeanDefinitionWriter,BeanProviderDefinition,BeanRegistration,ClientFilterResolutionContext,ConstructorInterceptorChain,DefaultArgument,DefaultErrorRouteInfo,DefaultRequestMatcher,DefaultRouteInfo,DefaultStatusRouteInfo,DefaultUriRouteMatch,DefaultUrlRouteInfo,DisabledBean,EvaluatedAnnotationMetadata,GenericArgument,GenericPlaceholderElementAnnotationMetadata,GroovyClassElement,GroovyConstructorElement,GroovyEnumConstantElement,GroovyFieldElement,GroovyMethodElement,GroovyPackageElement,GroovyParameterElement,InterceptorChain,InterceptorRegistryBean,JakartaProviderBeanDefinition,JavaClassElement,JavaMethodElement,JavaPackageElement,JavaxProviderBeanDefinition,MappingAnnotationMetadataDelegate,MethodElementAnnotationMetadata,MethodInterceptorChain,MutatedMethodElementAnnotationMetadata,PrimitiveElement,PropertyElementAnnotationMetadata,WildcardElementAnnotationMetadata
An interface for a type that provides
AnnotationMetadata.- Since:
- 1.0
- Author:
- Graeme Rocher
-
Field Summary
Fields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTY -
Method Summary
Modifier and TypeMethodDescriptiondefault <T extends Annotation>
Optional<AnnotationValue<T>>findAnnotation(Class<T> annotationClass) Find anAnnotationValuefor the given annotation type.default <T extends Annotation>
Optional<AnnotationValue<T>>findAnnotation(String annotation) Find anAnnotationValuefor the given annotation name.default <T extends Annotation>
Optional<AnnotationValue<T>>findDeclaredAnnotation(Class<T> annotationClass) Get all values for the given annotation that are directly declared on the annotated element.default <T extends Annotation>
Optional<AnnotationValue<T>>findDeclaredAnnotation(String annotation) Get all values for the given annotation that are directly declared on the annotated element.default @NonNull AnnotationMetadataSupplies the metadata.default AnnotationSourceUnwraps possible delegate or provider.default booleanisAnnotationPresent(Class<? extends Annotation> annotationClass) Return whether an annotation is present.default booleanisDeclaredAnnotationPresent(Class<? extends Annotation> annotationClass) Variation ofAnnotationSource.isAnnotationPresent(Class)for declared annotations.default <T extends Annotation>
Tsynthesize(Class<T> annotationClass) Synthesizes a new annotation from the metadata for the given annotation type.default Annotation[]Synthesizes a new annotations from the metadata.default <T extends Annotation>
T[]synthesizeAnnotationsByType(Class<T> annotationClass) Synthesizes a new annotations from the metadata for the given type.default Annotation[]Synthesizes a new annotations from the metadata.default <T extends Annotation>
TsynthesizeDeclared(Class<T> annotationClass) Synthesizes a new annotation from the metadata for the given annotation type.default <T extends Annotation>
T[]synthesizeDeclaredAnnotationsByType(Class<T> annotationClass) Synthesizes a new annotations from the metadata for the given type.Methods inherited from interface io.micronaut.core.annotation.AnnotationSource
getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeDeclared
-
Method Details
-
getAnnotationMetadata
Supplies the metadata. Defaults toAnnotationMetadata.EMPTY_METADATA.- Returns:
- The
AnnotationMetadata
-
synthesize
Description copied from interface:AnnotationSourceSynthesizes a new annotation from the metadata for the given annotation type. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.- Specified by:
synthesizein interfaceAnnotationSource- Type Parameters:
T- The annotation generic type- Parameters:
annotationClass- The annotation class- Returns:
- The annotation or null if it doesn't exist
-
synthesizeAll
Description copied from interface:AnnotationSourceSynthesizes a new annotations from the metadata. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.- Specified by:
synthesizeAllin interfaceAnnotationSource- Returns:
- All the annotations
-
synthesizeDeclared
Description copied from interface:AnnotationSourceSynthesizes a new annotations from the metadata. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.- Specified by:
synthesizeDeclaredin interfaceAnnotationSource- Returns:
- All declared annotations
-
isAnnotationPresent
Description copied from interface:AnnotationSourceReturn whether an annotation is present.- Specified by:
isAnnotationPresentin interfaceAnnotationSource- Parameters:
annotationClass- The annotation class- Returns:
- True if it is
-
isDeclaredAnnotationPresent
Description copied from interface:AnnotationSourceVariation ofAnnotationSource.isAnnotationPresent(Class)for declared annotations.- Specified by:
isDeclaredAnnotationPresentin interfaceAnnotationSource- Parameters:
annotationClass- The annotation class- Returns:
- True if it is
-
synthesizeDeclared
Description copied from interface:AnnotationSourceSynthesizes a new annotation from the metadata for the given annotation type. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.This method ignores inherited annotations. (Returns null if no annotations are directly present on this element.)
- Specified by:
synthesizeDeclaredin interfaceAnnotationSource- Type Parameters:
T- The annotation generic type- Parameters:
annotationClass- The annotation class- Returns:
- The annotation or null if it doesn't exist
-
synthesizeAnnotationsByType
Description copied from interface:AnnotationSourceSynthesizes a new annotations from the metadata for the given type. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.- Specified by:
synthesizeAnnotationsByTypein interfaceAnnotationSource- Type Parameters:
T- The annotation generic type- Parameters:
annotationClass- The annotation type- Returns:
- All annotations by the given type
-
synthesizeDeclaredAnnotationsByType
Description copied from interface:AnnotationSourceSynthesizes a new annotations from the metadata for the given type. This method works by creating a runtime proxy of the annotation interface and should be avoided in favour of direct use of the annotation metadata and only used for unique cases that require integrating third party libraries.- Specified by:
synthesizeDeclaredAnnotationsByTypein interfaceAnnotationSource- Type Parameters:
T- The annotation generic type- Parameters:
annotationClass- The annotation type- Returns:
- Declared annotations by the given type
-
findAnnotation
Description copied from interface:AnnotationSourceFind anAnnotationValuefor the given annotation name.- Specified by:
findAnnotationin interfaceAnnotationSource- Type Parameters:
T- The annotation type- Parameters:
annotation- The annotation name- Returns:
- A
AnnotationValueinstance
-
findAnnotation
default <T extends Annotation> Optional<AnnotationValue<T>> findAnnotation(Class<T> annotationClass) Description copied from interface:AnnotationSourceFind anAnnotationValuefor the given annotation type.- Specified by:
findAnnotationin interfaceAnnotationSource- Type Parameters:
T- The annotation type- Parameters:
annotationClass- The annotation- Returns:
- A
AnnotationValueinstance
-
findDeclaredAnnotation
default <T extends Annotation> Optional<AnnotationValue<T>> findDeclaredAnnotation(String annotation) Description copied from interface:AnnotationSourceGet all values for the given annotation that are directly declared on the annotated element.- Specified by:
findDeclaredAnnotationin interfaceAnnotationSource- Type Parameters:
T- The annotation type- Parameters:
annotation- The annotation name- Returns:
- A
AnnotationValueinstance
-
findDeclaredAnnotation
default <T extends Annotation> Optional<AnnotationValue<T>> findDeclaredAnnotation(Class<T> annotationClass) Description copied from interface:AnnotationSourceGet all values for the given annotation that are directly declared on the annotated element.- Specified by:
findDeclaredAnnotationin interfaceAnnotationSource- Type Parameters:
T- The annotation type- Parameters:
annotationClass- The annotation name- Returns:
- A
AnnotationValueinstance
-
getTargetAnnotationMetadata
Description copied from interface:AnnotationSourceUnwraps possible delegate or provider.- Specified by:
getTargetAnnotationMetadatain interfaceAnnotationSource- Returns:
- unwrapped
-