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
ConstructorsModifierConstructorDescriptionprotected
-
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.
-
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(GenerationContext generationContext, 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(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(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, org.springframework.javapoet.CodeBlock instanceSupplierCode, List<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(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(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
-