Interface BeanRegistrationCodeFragments
- All Known Implementing Classes:
- BeanRegistrationCodeFragmentsDecorator
A default implementation is provided that suits most needs and custom code fragments are only expected to be used by library authors having built custom arrangement on top of the core container.
Users are not expected to implement this interface directly, but rather
 extends from BeanRegistrationCodeFragmentsDecorator and only override
 the necessary method(s).
- Since:
- 6.0
- Author:
- Phillip Webb, Stephane Nicoll
- See Also:
- 
Field SummaryFields
- 
Method SummaryModifier and TypeMethodDescriptionorg.springframework.javapoet.CodeBlockgenerateInstanceSupplierCode(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, boolean allowDirectSupplierShortcut) Generate the instance supplier code.org.springframework.javapoet.CodeBlockgenerateNewBeanDefinitionCode(GenerationContext generationContext, ResolvableType beanType, BeanRegistrationCode beanRegistrationCode) Generate the code that defines the new bean definition instance.org.springframework.javapoet.CodeBlockgenerateReturnCode(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode) Generate the return statement.org.springframework.javapoet.CodeBlockgenerateSetBeanDefinitionPropertiesCode(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, RootBeanDefinition beanDefinition, Predicate<String> attributeFilter) Generate the code that sets the properties of the bean definition.org.springframework.javapoet.CodeBlockgenerateSetBeanInstanceSupplierCode(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.ClassNamegetTarget(RegisteredBean registeredBean) Return the target for the registration.
- 
Field Details- 
BEAN_DEFINITION_VARIABLEThe variable name used when creating the bean definition.- See Also:
 
- 
INSTANCE_SUPPLIER_VARIABLEThe variable name used when creating the bean definition.- See Also:
 
 
- 
- 
Method Details- 
getTargetReturn the target for the registration. Used to determine where to write the code. This should take into account visibility issue, such as package access of an element of the bean to register.- Parameters:
- registeredBean- the registered bean
- Returns:
- the target ClassName
 
- 
generateNewBeanDefinitionCodeorg.springframework.javapoet.CodeBlock generateNewBeanDefinitionCode(GenerationContext generationContext, ResolvableType beanType, BeanRegistrationCode beanRegistrationCode) Generate the code that defines the new bean definition instance.This should declare a variable named "beanDefinition" so that further fragments can refer to the variable to further tune the bean definition. - Parameters:
- generationContext- the generation context
- beanType- the bean type
- beanRegistrationCode- the bean registration code
- Returns:
- the generated code
 
- 
generateSetBeanDefinitionPropertiesCodeorg.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
 
- 
generateSetBeanInstanceSupplierCodeorg.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.The postProcessorsrepresent methods to be exposed once the instance has been created to further configure it. Each method should accept two parameters, theRegisteredBeanand the bean instance, and should return the modified bean instance.- Parameters:
- generationContext- the generation context
- beanRegistrationCode- the bean registration code
- instanceSupplierCode- the instance supplier code
- postProcessors- any instance post processors that should be applied
- Returns:
- the generated code
- See Also:
 
- 
generateInstanceSupplierCodeorg.springframework.javapoet.CodeBlock generateInstanceSupplierCode(GenerationContext generationContext, BeanRegistrationCode beanRegistrationCode, boolean allowDirectSupplierShortcut) Generate the instance supplier code.- Parameters:
- generationContext- the generation context
- beanRegistrationCode- the bean registration code
- allowDirectSupplierShortcut- if direct suppliers may be used rather than always needing an- InstanceSupplier
- Returns:
- the generated code
 
- 
generateReturnCodeorg.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
 
 
-