Class BeanDefinitionWriter

java.lang.Object
io.micronaut.inject.writer.BeanDefinitionWriter
All Implemented Interfaces:
BeanDefinitionBuilder<ClassElement, MethodElement, FieldElement, List<OutputObjectDef>>, AnnotatedElement, AnnotationMetadata, AnnotationMetadataDelegate, AnnotationMetadataProvider, AnnotationSource, Described, Named, Buildable<List<OutputObjectDef>>, Toggleable, MutableAnnotationMetadataDelegate<Element>, BeanElement, Element, ElementBeanDefinitionBuilder<OutputObjectDef>, OriginatingElements

@NullUnmarked @Internal public final class BeanDefinitionWriter extends Object implements BeanElement, Toggleable, ElementBeanDefinitionBuilder<OutputObjectDef>

Responsible for building BeanDefinition instances at compile time. Uses ASM build the class definition.

Should be used from AST frameworks to build bean definitions from source code data.

For example:

    

         BeanDefinitionWriter writer = new BeanDefinitionWriter("my.package", "MyClass", "jakarta.inject.Singleton", true)
         writer.visitBeanDefinitionConstructor()
         writer.visitFieldInjectionPoint("my.Qualifier", false, "my.package.MyDependency", "myfield" )
         writer.visitBeanDefinitionEnd()
         writer.writeTo(new File(..))
    
Since:
1.0
Author:
Graeme Rocher, Denis Stepanov
See Also: