Class BeanRegistrationCodeFragmentsDecorator
java.lang.Object
org.springframework.beans.factory.aot.BeanRegistrationCodeFragmentsDecorator
- All Implemented Interfaces:
BeanRegistrationCodeFragments
public class BeanRegistrationCodeFragmentsDecorator
extends Object
implements BeanRegistrationCodeFragments
A
BeanRegistrationCodeFragments
decorator implementation. Typically
used when part of the default code fragments have to customized, by extending
this class and using it as part of
BeanRegistrationAotContribution.withCustomCodeFragments(UnaryOperator)
.- Since:
- 6.0
- Author:
- Phillip Webb, Stephane Nicoll
-
Field Summary
Fields inherited from interface org.springframework.beans.factory.aot.BeanRegistrationCodeFragments
BEAN_DEFINITION_VARIABLE, INSTANCE_SUPPLIER_VARIABLE
-
Constructor Summary
ModifierConstructorDescriptionprotected
-
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.
-
Constructor Details
-
BeanRegistrationCodeFragmentsDecorator
-
-
Method Details
-
getTarget
public org.springframework.javapoet.ClassName getTarget(RegisteredBean registeredBean, Executable constructorOrFactoryMethod) Description copied from interface:BeanRegistrationCodeFragments
Return the target for the registration. Used to determine where to write the code.- Specified by:
getTarget
in interfaceBeanRegistrationCodeFragments
- Parameters:
registeredBean
- the registered beanconstructorOrFactoryMethod
- the constructor or factory method- Returns:
- the target
ClassName
-
generateNewBeanDefinitionCode
public org.springframework.javapoet.CodeBlock generateNewBeanDefinitionCode(org.springframework.aot.generate.GenerationContext generationContext, org.springframework.core.ResolvableType beanType, BeanRegistrationCode beanRegistrationCode) Description copied from interface:BeanRegistrationCodeFragments
Generate the code that defines the new bean definition instance.- Specified by:
generateNewBeanDefinitionCode
in interfaceBeanRegistrationCodeFragments
- Parameters:
generationContext
- the generation contextbeanType
- the bean typebeanRegistrationCode
- the bean registration code- Returns:
- the generated code
-
generateSetBeanDefinitionPropertiesCode
public org.springframework.javapoet.CodeBlock generateSetBeanDefinitionPropertiesCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, RootBeanDefinition beanDefinition, Predicate<String> attributeFilter) Description copied from interface:BeanRegistrationCodeFragments
Generate the code that sets the properties of the bean definition.- Specified by:
generateSetBeanDefinitionPropertiesCode
in interfaceBeanRegistrationCodeFragments
- Parameters:
generationContext
- the generation contextbeanRegistrationCode
- the bean registration codeattributeFilter
- any attribute filtering that should be applied- Returns:
- the generated code
-
generateSetBeanInstanceSupplierCode
public 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) Description copied from interface:BeanRegistrationCodeFragments
Generate the code that sets the instance supplier on the bean definition.- Specified by:
generateSetBeanInstanceSupplierCode
in interfaceBeanRegistrationCodeFragments
- 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
public org.springframework.javapoet.CodeBlock generateInstanceSupplierCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, Executable constructorOrFactoryMethod, boolean allowDirectSupplierShortcut) Description copied from interface:BeanRegistrationCodeFragments
Generate the instance supplier code.- Specified by:
generateInstanceSupplierCode
in interfaceBeanRegistrationCodeFragments
- 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
public org.springframework.javapoet.CodeBlock generateReturnCode(org.springframework.aot.generate.GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode) Description copied from interface:BeanRegistrationCodeFragments
Generate the return statement.- Specified by:
generateReturnCode
in interfaceBeanRegistrationCodeFragments
- Parameters:
generationContext
- the generation contextbeanRegistrationCode
- the bean registration code- Returns:
- the generated code
-