Interface BeanRegistrationCodeFragments

All Known Implementing Classes:
BeanRegistrationCodeFragmentsDecorator

public interface BeanRegistrationCodeFragments
Generate the various fragments of code needed to register a bean.
Since:
6.0
Author:
Phillip Webb
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The variable name to used when creating the bean definition.
    static final String
    The variable name to used when creating the bean definition.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.javapoet.CodeBlock
    generateInstanceSupplierCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, Executable constructorOrFactoryMethod, boolean allowDirectSupplierShortcut)
    Generate the instance supplier code.
    org.springframework.javapoet.CodeBlock
    generateNewBeanDefinitionCode(org.springframework.aot.generate.GenerationContext generationContext, org.springframework.core.ResolvableType beanType, BeanRegistrationCode beanRegistrationCode)
    Generate the code that defines the new bean definition instance.
    org.springframework.javapoet.CodeBlock
    generateReturnCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode)
    Generate the return statement.
    org.springframework.javapoet.CodeBlock
    generateSetBeanDefinitionPropertiesCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, RootBeanDefinition beanDefinition, Predicate<String> attributeFilter)
    Generate the code that sets the properties of the bean definition.
    org.springframework.javapoet.CodeBlock
    generateSetBeanInstanceSupplierCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, org.springframework.javapoet.CodeBlock instanceSupplierCode, List<org.springframework.aot.generate.MethodReference> postProcessors)
    Generate the code that sets the instance supplier on the bean definition.
    org.springframework.javapoet.ClassName
    getTarget(RegisteredBean registeredBean, Executable constructorOrFactoryMethod)
    Return the target for the registration.
  • Field Details

    • BEAN_DEFINITION_VARIABLE

      static final String BEAN_DEFINITION_VARIABLE
      The variable name to used when creating the bean definition.
      See Also:
    • INSTANCE_SUPPLIER_VARIABLE

      static final String INSTANCE_SUPPLIER_VARIABLE
      The variable name to used when creating the bean definition.
      See Also:
  • Method Details

    • getTarget

      org.springframework.javapoet.ClassName getTarget(RegisteredBean registeredBean, Executable constructorOrFactoryMethod)
      Return the target for the registration. Used to determine where to write the code.
      Parameters:
      registeredBean - the registered bean
      constructorOrFactoryMethod - the constructor or factory method
      Returns:
      the target ClassName
    • generateNewBeanDefinitionCode

      org.springframework.javapoet.CodeBlock generateNewBeanDefinitionCode(org.springframework.aot.generate.GenerationContext generationContext, org.springframework.core.ResolvableType beanType, BeanRegistrationCode beanRegistrationCode)
      Generate the code that defines the new bean definition instance.
      Parameters:
      generationContext - the generation context
      beanType - the bean type
      beanRegistrationCode - the bean registration code
      Returns:
      the generated code
    • generateSetBeanDefinitionPropertiesCode

      org.springframework.javapoet.CodeBlock generateSetBeanDefinitionPropertiesCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, RootBeanDefinition beanDefinition, Predicate<String> attributeFilter)
      Generate the code that sets the properties of the bean definition.
      Parameters:
      generationContext - the generation context
      beanRegistrationCode - the bean registration code
      attributeFilter - any attribute filtering that should be applied
      Returns:
      the generated code
    • generateSetBeanInstanceSupplierCode

      org.springframework.javapoet.CodeBlock generateSetBeanInstanceSupplierCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, org.springframework.javapoet.CodeBlock instanceSupplierCode, List<org.springframework.aot.generate.MethodReference> postProcessors)
      Generate the code that sets the instance supplier on the bean definition.
      Parameters:
      generationContext - the generation context
      beanRegistrationCode - the bean registration code
      instanceSupplierCode - the instance supplier code supplier code
      postProcessors - any instance post processors that should be applied
      Returns:
      the generated code
      See Also:
    • generateInstanceSupplierCode

      org.springframework.javapoet.CodeBlock generateInstanceSupplierCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, Executable constructorOrFactoryMethod, boolean allowDirectSupplierShortcut)
      Generate the instance supplier code.
      Parameters:
      generationContext - the generation context
      beanRegistrationCode - the bean registration code
      constructorOrFactoryMethod - the constructor or factory method for the bean
      allowDirectSupplierShortcut - if direct suppliers may be used rather than always needing an InstanceSupplier
      Returns:
      the generated code
    • generateReturnCode

      org.springframework.javapoet.CodeBlock generateReturnCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode)
      Generate the return statement.
      Parameters:
      generationContext - the generation context
      beanRegistrationCode - the bean registration code
      Returns:
      the generated code