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
(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, Executable constructorOrFactoryMethod, boolean allowDirectSupplierShortcut) Generate the instance supplier code.org.springframework.javapoet.CodeBlock
generateNewBeanDefinitionCode
(GenerationContext generationContext, ResolvableType beanType, BeanRegistrationCode beanRegistrationCode) Generate the code that defines the new bean definition instance.org.springframework.javapoet.CodeBlock
generateReturnCode
(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode) Generate the return statement.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.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.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(GenerationContext generationContext, 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(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(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 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(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(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode) Generate the return statement.- Parameters:
generationContext
- the generation contextbeanRegistrationCode
- the bean registration code- Returns:
- the generated code
-