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 Details

    • addPostConstruct

      default ElementBeanDefinitionBuilder<R> addPostConstruct(MethodElement methodElement, boolean reflectionRequired, VisitorContext visitorContext)
      Registers a @PostConstruct method on the bean definition.
      Parameters:
      methodElement - The source method
      reflectionRequired - Whether reflective invocation is required
      visitorContext - The visitor context
      Returns:
      This builder
    • addPreDestroy

      default ElementBeanDefinitionBuilder<R> addPreDestroy(MethodElement methodElement, boolean reflectionRequired, VisitorContext visitorContext)
      Registers a @PreDestroy method on the bean definition.
      Parameters:
      methodElement - The source method
      reflectionRequired - Whether reflective invocation is required
      visitorContext - 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 element
      reflectionRequired - Whether reflective access is required
      visitorContext - 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 element
      reflectionRequired - Whether reflective invocation is required
      visitorContext - 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 element
      annotationMetadata - The annotation metadata associated with the injection
      reflectionRequired - Whether reflective access is required
      isOptional - Whether the injection is optional
      visitorContext - 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 from InjectionPoint.
      Parameters:
      fieldElement - The field element
      annotationMetadata - The annotation metadata associated with the injection
      reflectionRequired - Whether reflective access is required
      visitorContext - The visitor context
      Returns:
      This builder