Interface ElementBeanDefinitionBuilder<R>
- Type Parameters:
R- The builder result type
- All Superinterfaces:
BeanDefinitionBuilder<ClassElement, MethodElement, FieldElement, List<R>>, Buildable<List<R>>, OriginatingElements, Toggleable
- All Known Implementing Classes:
BeanDefinitionWriter
public interface ElementBeanDefinitionBuilder<R>
extends BeanDefinitionBuilder<ClassElement, MethodElement, FieldElement, List<R>>, OriginatingElements, Toggleable
Micronaut
BeanDefinitionBuilder variant that operates on Element inputs.- Since:
- 5.1.0
- Author:
- Denis Stepanov
-
Method Summary
Modifier and TypeMethodDescriptiondefault ElementBeanDefinitionBuilder<R> addFieldInjection(FieldElement fieldElement, boolean reflectionRequired, VisitorContext visitorContext) Adds a field injection point to the bean definition.default ElementBeanDefinitionBuilder<R> addFieldPropertyInjection(FieldElement fieldElement, AnnotationMetadata annotationMetadata, boolean reflectionRequired, boolean isOptional, VisitorContext visitorContext) Adds a field property injection point (e.g.default ElementBeanDefinitionBuilder<R> addFieldPropertyInjection(FieldElement fieldElement, AnnotationMetadata annotationMetadata, boolean reflectionRequired, VisitorContext visitorContext) Adds a field property injection point inferring optionality fromInjectionPoint.default ElementBeanDefinitionBuilder<R> addMethodInjection(MethodElement methodElement, boolean reflectionRequired, VisitorContext visitorContext) Adds a method injection point to the bean definition.default ElementBeanDefinitionBuilder<R> addPostConstruct(MethodElement methodElement, boolean reflectionRequired, VisitorContext visitorContext) Registers a@PostConstructmethod on the bean definition.default ElementBeanDefinitionBuilder<R> addPreDestroy(MethodElement methodElement, boolean reflectionRequired, VisitorContext visitorContext) Registers a@PreDestroymethod on the bean definition.Methods inherited from interface BeanDefinitionBuilder
addExecutableMethod, addFieldConfigurationBuilder, addFieldInjection, addMethodConfigurationBuilder, addMethodInjection, addPostConstruct, addPreDestroyMethods inherited from interface OriginatingElements
addOriginatingElement, getOriginatingElementsMethods inherited from interface Toggleable
isEnabled
-
Method Details
-
addPostConstruct
default ElementBeanDefinitionBuilder<R> addPostConstruct(MethodElement methodElement, boolean reflectionRequired, VisitorContext visitorContext) Registers a@PostConstructmethod on the bean definition.- Parameters:
methodElement- The source methodreflectionRequired- Whether reflective invocation is requiredvisitorContext- The visitor context- Returns:
- This builder
-
addPreDestroy
default ElementBeanDefinitionBuilder<R> addPreDestroy(MethodElement methodElement, boolean reflectionRequired, VisitorContext visitorContext) Registers a@PreDestroymethod on the bean definition.- Parameters:
methodElement- The source methodreflectionRequired- Whether reflective invocation is requiredvisitorContext- The visitor context- Returns:
- This builder
-
addFieldInjection
default ElementBeanDefinitionBuilder<R> addFieldInjection(FieldElement fieldElement, boolean reflectionRequired, VisitorContext visitorContext) Adds a field injection point to the bean definition.- Parameters:
fieldElement- The field elementreflectionRequired- Whether reflective access is requiredvisitorContext- The visitor context- Returns:
- This builder
-
addMethodInjection
default ElementBeanDefinitionBuilder<R> addMethodInjection(MethodElement methodElement, boolean reflectionRequired, VisitorContext visitorContext) Adds a method injection point to the bean definition.- Parameters:
methodElement- The method elementreflectionRequired- Whether reflective invocation is requiredvisitorContext- The visitor context- Returns:
- This builder
-
addFieldPropertyInjection
default ElementBeanDefinitionBuilder<R> addFieldPropertyInjection(FieldElement fieldElement, AnnotationMetadata annotationMetadata, boolean reflectionRequired, boolean isOptional, VisitorContext visitorContext) Adds a field property injection point (e.g.@Property) to the bean definition.- Parameters:
fieldElement- The field elementannotationMetadata- The annotation metadata associated with the injectionreflectionRequired- Whether reflective access is requiredisOptional- Whether the injection is optionalvisitorContext- The visitor context- Returns:
- This builder
-
addFieldPropertyInjection
default ElementBeanDefinitionBuilder<R> addFieldPropertyInjection(FieldElement fieldElement, AnnotationMetadata annotationMetadata, boolean reflectionRequired, VisitorContext visitorContext) Adds a field property injection point inferring optionality fromInjectionPoint.- Parameters:
fieldElement- The field elementannotationMetadata- The annotation metadata associated with the injectionreflectionRequired- Whether reflective access is requiredvisitorContext- The visitor context- Returns:
- This builder
-