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 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(GenerationContext generationContext, 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(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(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, org.springframework.javapoet.CodeBlock instanceSupplierCode, List<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(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(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode)
      Generate the return statement.
      Parameters:
      generationContext - the generation context
      beanRegistrationCode - the bean registration code
      Returns:
      the generated code