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
-
Method Summary
Modifier and TypeMethodDescriptionorg.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
The variable name to used when creating the bean definition.- See Also:
-
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 beanconstructorOrFactoryMethod
- 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 contextbeanType
- the bean typebeanRegistrationCode
- 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 contextbeanRegistrationCode
- the bean registration codeattributeFilter
- 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 contextbeanRegistrationCode
- the bean registration codeinstanceSupplierCode
- the instance supplier code supplier codepostProcessors
- 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 contextbeanRegistrationCode
- the bean registration codeconstructorOrFactoryMethod
- the constructor or factory method for the beanallowDirectSupplierShortcut
- if direct suppliers may be used rather than always needing anInstanceSupplier
- 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 contextbeanRegistrationCode
- the bean registration code- Returns:
- the generated code
-