Interface ElementBeanDefinitionBuilderFactory<R>
- Type Parameters:
R- The builder result type
- All Superinterfaces:
BeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<R>>
- All Known Implementing Classes:
DefaultElementBeanDefinitionBuilderFactory
public interface ElementBeanDefinitionBuilderFactory<R>
extends BeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<R>>
Factory for creating
ElementBeanDefinitionBuilder instances.- Since:
- 5.1.0
- Author:
- Denis Stepanov
-
Method Summary
Modifier and TypeMethodDescriptionaroundProxy(ClassElement classElement, AnnotationMetadata annotationMetadata, ElementBeanDefinitionBuilder<R> targetBeanDefinitionBuilder) Creates anElementProxyBuilderthat wraps the supplied bean definition with AOP advice.constructor(ConstructorDefinition<ClassElement, MethodElement> constructorDefinition) Creates a builder backed by the given constructor definition.constructor(ConstructorDefinition<ClassElement, MethodElement> constructorDefinition, @Nullable String beanDefinitionName, @Nullable AnnotationMetadata annotationMetadata) Creates a builder backed by the given constructor definition.factoryField(FieldDefinition<ClassElement, FieldElement> fieldDefinition) Creates a builder backed by the given factory field.factoryField(FieldElement fieldElement) Creates a bean definition builder for the supplied factory field.factoryMethod(MethodDefinition<ClassElement, MethodElement> methodDefinition) Creates a builder backed by the given factory method.factoryMethod(MethodElement methodElement) Creates a bean definition builder for the supplied factory method.introductionProxy(ClassElement target) Creates an introduction proxy builder for the given target type.introductionProxy(String proxyName, AnnotationMetadata proxyAnnotationMetadata) Creates an introduction proxy builder using the provided metadata.default ElementProxyBuilder<R> introductionProxy(String proxyName, AnnotationMetadata proxyAnnotationMetadata, ClassElement beanType) Creates an introduction proxy builder using the provided metadata and bean type.ofType(ClassElement classElement) Creates a bean definition builder for the given type.
-
Method Details
-
ofType
Creates a bean definition builder for the given type.- Parameters:
classElement- The class element representing the bean- Returns:
- The bean definition builder
-
factoryMethod
Creates a bean definition builder for the supplied factory method.- Parameters:
methodElement- The factory method element- Returns:
- The bean definition builder
-
factoryField
Creates a bean definition builder for the supplied factory field.- Parameters:
fieldElement- The factory field element- Returns:
- The bean definition builder
-
aroundProxy
ElementProxyBuilder<R> aroundProxy(ClassElement classElement, AnnotationMetadata annotationMetadata, ElementBeanDefinitionBuilder<R> targetBeanDefinitionBuilder) Creates anElementProxyBuilderthat wraps the supplied bean definition with AOP advice.- Parameters:
classElement- The class element being advisedannotationMetadata- The annotation metadata describing the advicetargetBeanDefinitionBuilder- The bean definition builder to proxy- Returns:
- The proxy builder
-
introductionProxy
Creates an introduction proxy builder for the given target type.- Parameters:
target- The element being proxied- Returns:
- The proxy builder
-
introductionProxy
ElementProxyBuilder<R> introductionProxy(String proxyName, AnnotationMetadata proxyAnnotationMetadata) Creates an introduction proxy builder using the provided metadata.- Parameters:
proxyName- The proxy class nameproxyAnnotationMetadata- The proxy annotation metadata- Returns:
- The proxy builder
-
introductionProxy
default ElementProxyBuilder<R> introductionProxy(String proxyName, AnnotationMetadata proxyAnnotationMetadata, ClassElement beanType) Creates an introduction proxy builder using the provided metadata and bean type.- Parameters:
proxyName- The proxy class nameproxyAnnotationMetadata- The proxy annotation metadatabeanType- The bean type exposed by the proxy- Returns:
- The proxy builder
-
constructor
ElementBeanDefinitionBuilder<R> constructor(ConstructorDefinition<ClassElement, MethodElement> constructorDefinition) Description copied from interface:BeanDefinitionBuilderFactoryCreates a builder backed by the given constructor definition.- Specified by:
constructorin interfaceBeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<R>>- Parameters:
constructorDefinition- The constructor definition- Returns:
- The bean definition builder
-
constructor
ElementBeanDefinitionBuilder<R> constructor(ConstructorDefinition<ClassElement, MethodElement> constructorDefinition, @Nullable String beanDefinitionName, @Nullable AnnotationMetadata annotationMetadata) Description copied from interface:BeanDefinitionBuilderFactoryCreates a builder backed by the given constructor definition.- Specified by:
constructorin interfaceBeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<R>>- Parameters:
constructorDefinition- The constructor definitionbeanDefinitionName- An explicit bean definition nameannotationMetadata- Annotation metadata to associate- Returns:
- The bean definition builder
-
factoryMethod
ElementBeanDefinitionBuilder<R> factoryMethod(MethodDefinition<ClassElement, MethodElement> methodDefinition) Description copied from interface:BeanDefinitionBuilderFactoryCreates a builder backed by the given factory method.- Specified by:
factoryMethodin interfaceBeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<R>>- Parameters:
methodDefinition- The factory method definition- Returns:
- The bean definition builder
-
factoryField
ElementBeanDefinitionBuilder<R> factoryField(FieldDefinition<ClassElement, FieldElement> fieldDefinition) Description copied from interface:BeanDefinitionBuilderFactoryCreates a builder backed by the given factory field.- Specified by:
factoryFieldin interfaceBeanDefinitionBuilderFactory<ClassElement, MethodElement, MethodElement, FieldElement, List<R>>- Parameters:
fieldDefinition- The factory field definition- Returns:
- The bean definition builder
-