Class DefaultElementBeanDefinitionBuilderFactory
java.lang.Object
io.micronaut.inject.processing.definition.DefaultElementBeanDefinitionBuilderFactory
- All Implemented Interfaces:
BeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<OutputObjectDef>>, ElementBeanDefinitionBuilderFactory<OutputObjectDef>
public class DefaultElementBeanDefinitionBuilderFactory
extends Object
implements ElementBeanDefinitionBuilderFactory<OutputObjectDef>
Default
ElementBeanDefinitionBuilderFactory implementation backed by BeanDefinitionWriter.- Since:
- 5.1.0
- Author:
- Denis Stepanov
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaroundProxy(ClassElement targetType, AnnotationMetadata aopElementAnnotationProcessor, ElementBeanDefinitionBuilder<OutputObjectDef> targetBeanDefinitionBuilder) Creates anElementProxyBuilderthat wraps the supplied bean definition with AOP advice.constructor(ConstructorDefinition<ClassElement, MethodElement> constructorDefinition) Creates a builder backed by the given constructor definition.constructor(ConstructorDefinition<ClassElement, MethodElement> constructorDefinition, @Nullable String beanDefinitionName, @Nullable AnnotationMetadata annotationMetadata) Creates a builder backed by the given constructor definition.factoryField(FieldDefinition<ClassElement, FieldElement> fieldDefinition) Creates a builder backed by the given factory field.factoryField(FieldElement fieldElement) Creates a bean definition builder for the supplied factory field.factoryMethod(MethodDefinition<ClassElement, MethodElement> methodDefinition) Creates a builder backed by the given factory method.factoryMethod(MethodElement methodElement) Creates a bean definition builder for the supplied factory method.introductionProxy(ClassElement target) Creates an introduction proxy builder for the given target type.introductionProxy(String proxyName, AnnotationMetadata proxyAnnotationMetadata) Creates an introduction proxy builder using the provided metadata.introductionProxy(String proxyName, AnnotationMetadata proxyAnnotationMetadata, ClassElement beanType) Creates an introduction proxy builder using the provided metadata and bean type.ofType(ClassElement classElement) Creates a bean definition builder for the given type.
-
Constructor Details
-
DefaultElementBeanDefinitionBuilderFactory
- Parameters:
visitorContext- The visitor context backing code generation
-
-
Method Details
-
ofType
Description copied from interface:ElementBeanDefinitionBuilderFactoryCreates a bean definition builder for the given type.- Specified by:
ofTypein interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
classElement- The class element representing the bean- Returns:
- The bean definition builder
-
factoryMethod
Description copied from interface:ElementBeanDefinitionBuilderFactoryCreates a bean definition builder for the supplied factory method.- Specified by:
factoryMethodin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
methodElement- The factory method element- Returns:
- The bean definition builder
-
factoryField
Description copied from interface:ElementBeanDefinitionBuilderFactoryCreates a bean definition builder for the supplied factory field.- Specified by:
factoryFieldin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
fieldElement- The factory field element- Returns:
- The bean definition builder
-
constructor
public ElementBeanDefinitionBuilder<OutputObjectDef> constructor(ConstructorDefinition<ClassElement, MethodElement> constructorDefinition) Description copied from interface:BeanDefinitionBuilderFactoryCreates a builder backed by the given constructor definition.- Specified by:
constructorin interfaceBeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<OutputObjectDef>>- Specified by:
constructorin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
constructorDefinition- The constructor definition- Returns:
- The bean definition builder
-
constructor
public ElementBeanDefinitionBuilder<OutputObjectDef> constructor(ConstructorDefinition<ClassElement, MethodElement> constructorDefinition, @Nullable String beanDefinitionName, @Nullable AnnotationMetadata annotationMetadata) Description copied from interface:BeanDefinitionBuilderFactoryCreates a builder backed by the given constructor definition.- Specified by:
constructorin interfaceBeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<OutputObjectDef>>- Specified by:
constructorin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
constructorDefinition- The constructor definitionbeanDefinitionName- An explicit bean definition nameannotationMetadata- Annotation metadata to associate- Returns:
- The bean definition builder
-
factoryMethod
public ElementBeanDefinitionBuilder<OutputObjectDef> factoryMethod(MethodDefinition<ClassElement, MethodElement> methodDefinition) Description copied from interface:BeanDefinitionBuilderFactoryCreates a builder backed by the given factory method.- Specified by:
factoryMethodin interfaceBeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<OutputObjectDef>>- Specified by:
factoryMethodin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
methodDefinition- The factory method definition- Returns:
- The bean definition builder
-
factoryField
public ElementBeanDefinitionBuilder<OutputObjectDef> factoryField(FieldDefinition<ClassElement, FieldElement> fieldDefinition) Description copied from interface:BeanDefinitionBuilderFactoryCreates a builder backed by the given factory field.- Specified by:
factoryFieldin interfaceBeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<OutputObjectDef>>- Specified by:
factoryFieldin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
fieldDefinition- The factory field definition- Returns:
- The bean definition builder
-
aroundProxy
public ElementProxyBuilder<OutputObjectDef> aroundProxy(ClassElement targetType, AnnotationMetadata aopElementAnnotationProcessor, ElementBeanDefinitionBuilder<OutputObjectDef> targetBeanDefinitionBuilder) Description copied from interface:ElementBeanDefinitionBuilderFactoryCreates anElementProxyBuilderthat wraps the supplied bean definition with AOP advice.- Specified by:
aroundProxyin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
targetType- The class element being advisedaopElementAnnotationProcessor- The annotation metadata describing the advicetargetBeanDefinitionBuilder- The bean definition builder to proxy- Returns:
- The proxy builder
-
introductionProxy
Description copied from interface:ElementBeanDefinitionBuilderFactoryCreates an introduction proxy builder for the given target type.- Specified by:
introductionProxyin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
target- The element being proxied- Returns:
- The proxy builder
-
introductionProxy
public ElementProxyBuilder<OutputObjectDef> introductionProxy(String proxyName, AnnotationMetadata proxyAnnotationMetadata) Description copied from interface:ElementBeanDefinitionBuilderFactoryCreates an introduction proxy builder using the provided metadata.- Specified by:
introductionProxyin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
proxyName- The proxy class nameproxyAnnotationMetadata- The proxy annotation metadata- Returns:
- The proxy builder
-
introductionProxy
public ElementProxyBuilder<OutputObjectDef> introductionProxy(String proxyName, AnnotationMetadata proxyAnnotationMetadata, ClassElement beanType) Description copied from interface:ElementBeanDefinitionBuilderFactoryCreates an introduction proxy builder using the provided metadata and bean type.- Specified by:
introductionProxyin interfaceElementBeanDefinitionBuilderFactory<OutputObjectDef>- Parameters:
proxyName- The proxy class nameproxyAnnotationMetadata- The proxy annotation metadatabeanType- The bean type exposed by the proxy- Returns:
- The proxy builder
-