From b4eb895927e55ba92917cc7522dc93606d84f442 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 22 Feb 2022 16:07:52 +0100 Subject: [PATCH] Polish naming Co-authored-by: Andy Wilkinson --- .../AutowiredAnnotationBeanPostProcessor.java | 16 ++++++++-------- ...ava => AotContributingBeanPostProcessor.java} | 14 +++++++------- ...or.java => BeanInstantiationContributor.java} | 11 +++++------ ...va => DefaultBeanInstantiationGenerator.java} | 13 +++++++------ ...tationBeanInstantiationContributorTests.java} | 14 +++++++------- ... DefaultBeanInstantiationGeneratorTests.java} | 14 +++++++------- 6 files changed, 41 insertions(+), 41 deletions(-) rename spring-beans/src/main/java/org/springframework/beans/factory/generator/{BeanInstanceAotPostProcessor.java => AotContributingBeanPostProcessor.java} (70%) rename spring-beans/src/main/java/org/springframework/beans/factory/generator/{BeanInstanceContributor.java => BeanInstantiationContributor.java} (80%) rename spring-beans/src/main/java/org/springframework/beans/factory/generator/{DefaultBeanInstanceGenerator.java => DefaultBeanInstantiationGenerator.java} (92%) rename spring-beans/src/test/java/org/springframework/beans/factory/annotation/{AutowiredAnnotationBeanInstanceContributorTests.java => AutowiredAnnotationBeanInstantiationContributorTests.java} (92%) rename spring-beans/src/test/java/org/springframework/beans/factory/generator/{DefaultBeanInstanceGeneratorTests.java => DefaultBeanInstantiationGeneratorTests.java} (96%) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java b/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java index dd644c9dd98..b0156447762 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java @@ -56,8 +56,8 @@ import org.springframework.beans.factory.annotation.InjectionMetadata.InjectedEl import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.config.DependencyDescriptor; import org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor; -import org.springframework.beans.factory.generator.BeanInstanceAotPostProcessor; -import org.springframework.beans.factory.generator.BeanInstanceContributor; +import org.springframework.beans.factory.generator.AotContributingBeanPostProcessor; +import org.springframework.beans.factory.generator.BeanInstantiationContributor; import org.springframework.beans.factory.generator.InjectionGenerator; import org.springframework.beans.factory.support.LookupOverride; import org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor; @@ -140,7 +140,7 @@ import org.springframework.util.StringUtils; * @see Value */ public class AutowiredAnnotationBeanPostProcessor implements SmartInstantiationAwareBeanPostProcessor, - MergedBeanDefinitionPostProcessor, BeanInstanceAotPostProcessor, PriorityOrdered, BeanFactoryAware { + MergedBeanDefinitionPostProcessor, AotContributingBeanPostProcessor, PriorityOrdered, BeanFactoryAware { protected final Log logger = LogFactory.getLog(getClass()); @@ -268,12 +268,12 @@ public class AutowiredAnnotationBeanPostProcessor implements SmartInstantiationA } @Override - public BeanInstanceContributor buildAotContributor(RootBeanDefinition beanDefinition, Class beanType, String beanName) { + public BeanInstantiationContributor buildAotContributor(RootBeanDefinition beanDefinition, Class beanType, String beanName) { InjectionMetadata metadata = findInjectionMetadata(beanName, beanType, beanDefinition); Collection injectedElements = metadata.getInjectedElements(); return (!ObjectUtils.isEmpty(injectedElements) - ? new AutowiredAnnotationBeanInstanceContributor(injectedElements) - : BeanInstanceContributor.NO_OP); + ? new AutowiredAnnotationBeanInstantiationContributor(injectedElements) + : BeanInstantiationContributor.NO_OP); } private InjectionMetadata findInjectionMetadata(String beanName, Class beanType, RootBeanDefinition beanDefinition) { @@ -821,13 +821,13 @@ public class AutowiredAnnotationBeanPostProcessor implements SmartInstantiationA } } - private static final class AutowiredAnnotationBeanInstanceContributor implements BeanInstanceContributor { + private static final class AutowiredAnnotationBeanInstantiationContributor implements BeanInstantiationContributor { private final Collection injectedElements; private final InjectionGenerator generator; - AutowiredAnnotationBeanInstanceContributor(Collection injectedElements) { + AutowiredAnnotationBeanInstantiationContributor(Collection injectedElements) { this.injectedElements = injectedElements; this.generator = new InjectionGenerator(); } diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstanceAotPostProcessor.java b/spring-beans/src/main/java/org/springframework/beans/factory/generator/AotContributingBeanPostProcessor.java similarity index 70% rename from spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstanceAotPostProcessor.java rename to spring-beans/src/main/java/org/springframework/beans/factory/generator/AotContributingBeanPostProcessor.java index af2e87620d4..b3197e04d8c 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstanceAotPostProcessor.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/generator/AotContributingBeanPostProcessor.java @@ -20,9 +20,9 @@ import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.beans.factory.support.RootBeanDefinition; /** - * Strategy interface to be implemented by a {@link BeanPostProcessor} that - * participates in a bean instance setup and can provide an equivalent setup - * using generated code. + * Specialization of {@link BeanPostProcessor} that contributes to bean + * instantiation ahead of time, providing generated code that is equivalent to + * its runtime behavior. * *

Contrary to other bean post processors, implementations of this interface * are instantiated at build-time and should not rely on other beans in the @@ -32,15 +32,15 @@ import org.springframework.beans.factory.support.RootBeanDefinition; * @since 6.0 */ @FunctionalInterface -public interface BeanInstanceAotPostProcessor extends BeanPostProcessor { +public interface AotContributingBeanPostProcessor extends BeanPostProcessor { /** - * Build a {@link BeanInstanceContributor} for the given bean definition. + * Build a {@link BeanInstantiationContributor} for the given bean definition. * @param beanDefinition the merged bean definition for the bean - * @param beanType the actual type of the managed bean instance + * @param beanType the inferred type of the bean * @param beanName the name of the bean * @return the contributor to use */ - BeanInstanceContributor buildAotContributor(RootBeanDefinition beanDefinition, Class beanType, String beanName); + BeanInstantiationContributor buildAotContributor(RootBeanDefinition beanDefinition, Class beanType, String beanName); } diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstanceContributor.java b/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstantiationContributor.java similarity index 80% rename from spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstanceContributor.java rename to spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstantiationContributor.java index 338334bbd25..83cd1ec698a 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstanceContributor.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/generator/BeanInstantiationContributor.java @@ -19,21 +19,20 @@ package org.springframework.beans.factory.generator; import org.springframework.aot.generator.CodeContribution; /** - * Strategy interface to be implemented by components that participates in a - * bean instance setup so that the generated code provides an equivalent - * setup. + * Contributor to the code that instantiates a bean following ahead of time + * processing. * * @author Stephane Nicoll * @since 6.0 */ @FunctionalInterface -public interface BeanInstanceContributor { +public interface BeanInstantiationContributor { /** - * A {@link BeanInstanceContributor} that does not contribute anything + * A {@link BeanInstantiationContributor} that does not contribute anything * to the {@link CodeContribution}. */ - BeanInstanceContributor NO_OP = contribution -> { }; + BeanInstantiationContributor NO_OP = contribution -> { }; /** * Contribute to the specified {@link CodeContribution}. diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/generator/DefaultBeanInstanceGenerator.java b/spring-beans/src/main/java/org/springframework/beans/factory/generator/DefaultBeanInstantiationGenerator.java similarity index 92% rename from spring-beans/src/main/java/org/springframework/beans/factory/generator/DefaultBeanInstanceGenerator.java rename to spring-beans/src/main/java/org/springframework/beans/factory/generator/DefaultBeanInstantiationGenerator.java index b513aea16ef..fe40951b974 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/generator/DefaultBeanInstanceGenerator.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/generator/DefaultBeanInstantiationGenerator.java @@ -36,19 +36,20 @@ import org.springframework.util.ClassUtils; * Write the necessary statements to instantiate a bean. * * @author Stephane Nicoll + * @see BeanInstantiationContributor */ -class DefaultBeanInstanceGenerator { +class DefaultBeanInstantiationGenerator { private final Executable instanceCreator; - private final List contributors; + private final List contributors; private final InjectionGenerator injectionGenerator; private final Options beanInstanceOptions; - DefaultBeanInstanceGenerator(Executable instanceCreator, List contributors) { + DefaultBeanInstantiationGenerator(Executable instanceCreator, List contributors) { this.instanceCreator = instanceCreator; this.contributors = List.copyOf(contributors); this.injectionGenerator = new InjectionGenerator(); @@ -62,7 +63,7 @@ class DefaultBeanInstanceGenerator { * @param runtimeHints the runtime hints instance to use * @return a code contribution that provides an initialized bean instance */ - public CodeContribution generateBeanInstance(RuntimeHints runtimeHints) { + public CodeContribution generateBeanInstantiation(RuntimeHints runtimeHints) { DefaultCodeContribution contribution = new DefaultCodeContribution(runtimeHints); contribution.protectedAccess().analyze(this.instanceCreator, this.beanInstanceOptions); if (this.instanceCreator instanceof Constructor constructor) { @@ -109,7 +110,7 @@ class DefaultBeanInstanceGenerator { contribution.statements().addStatement(code.build()); if (multiStatements) { - for (BeanInstanceContributor contributor : this.contributors) { + for (BeanInstantiationContributor contributor : this.contributors) { contributor.contribute(contribution); } contribution.statements().addStatement("return bean") @@ -147,7 +148,7 @@ class DefaultBeanInstanceGenerator { code.add(this.injectionGenerator.writeInstantiation(method)); contribution.statements().addStatement(code.build()); if (multiStatements) { - for (BeanInstanceContributor contributor : this.contributors) { + for (BeanInstantiationContributor contributor : this.contributors) { contributor.contribute(contribution); } contribution.statements().addStatement("return bean") diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanInstanceContributorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanInstantiationContributorTests.java similarity index 92% rename from spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanInstanceContributorTests.java rename to spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanInstantiationContributorTests.java index f0d1b7aa591..a85b5cdd374 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanInstanceContributorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanInstantiationContributorTests.java @@ -24,7 +24,7 @@ import org.springframework.aot.hint.ExecutableMode; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.TypeReference; import org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessorTests.ResourceInjectionBean; -import org.springframework.beans.factory.generator.BeanInstanceContributor; +import org.springframework.beans.factory.generator.BeanInstantiationContributor; import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.beans.testfixture.beans.TestBean; import org.springframework.core.env.Environment; @@ -37,7 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Stephane Nicoll */ -class AutowiredAnnotationBeanInstanceContributorTests { +class AutowiredAnnotationBeanInstantiationContributorTests { @Test void buildAotContributorWithPackageProtectedFieldInjection() { @@ -63,7 +63,7 @@ class AutowiredAnnotationBeanInstanceContributorTests { assertThat(CodeSnippet.process(contribution.statements().toCodeBlock())).isEqualTo(""" instanceContext.field("environment", Environment.class) .invoke(beanFactory, (attributes) -> { - Field environmentField = ReflectionUtils.findField(AutowiredAnnotationBeanInstanceContributorTests.PrivateFieldInjectionSample.class, "environment", Environment.class); + Field environmentField = ReflectionUtils.findField(AutowiredAnnotationBeanInstantiationContributorTests.PrivateFieldInjectionSample.class, "environment", Environment.class); ReflectionUtils.makeAccessible(environmentField); ReflectionUtils.setField(environmentField, bean, attributes.get(0)); })"""); @@ -117,19 +117,19 @@ class AutowiredAnnotationBeanInstanceContributorTests { @Test void buildAotContributorWithoutInjectionPoints() { - BeanInstanceContributor contributor = createAotContributor(String.class); - assertThat(contributor).isNotNull().isSameAs(BeanInstanceContributor.NO_OP); + BeanInstantiationContributor contributor = createAotContributor(String.class); + assertThat(contributor).isNotNull().isSameAs(BeanInstantiationContributor.NO_OP); } private DefaultCodeContribution contribute(Class type) { - BeanInstanceContributor contributor = createAotContributor(type); + BeanInstantiationContributor contributor = createAotContributor(type); assertThat(contributor).isNotNull(); DefaultCodeContribution contribution = new DefaultCodeContribution(new RuntimeHints()); contributor.contribute(contribution); return contribution; } - private BeanInstanceContributor createAotContributor(Class type) { + private BeanInstantiationContributor createAotContributor(Class type) { AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor(); RootBeanDefinition beanDefinition = new RootBeanDefinition(type); return bpp.buildAotContributor(beanDefinition, type, "test"); diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/generator/DefaultBeanInstanceGeneratorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/generator/DefaultBeanInstantiationGeneratorTests.java similarity index 96% rename from spring-beans/src/test/java/org/springframework/beans/factory/generator/DefaultBeanInstanceGeneratorTests.java rename to spring-beans/src/test/java/org/springframework/beans/factory/generator/DefaultBeanInstantiationGeneratorTests.java index d780d868145..29f5d49995e 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/generator/DefaultBeanInstanceGeneratorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/generator/DefaultBeanInstantiationGeneratorTests.java @@ -48,11 +48,11 @@ import org.springframework.util.ReflectionUtils; import static org.assertj.core.api.Assertions.assertThat; /** - * Tests for {@link DefaultBeanInstanceGenerator}. + * Tests for {@link DefaultBeanInstantiationGenerator}. * * @author Stephane Nicoll */ -class DefaultBeanInstanceGeneratorTests { +class DefaultBeanInstantiationGeneratorTests { @Test void generateUsingDefaultConstructorUsesMethodReference() { @@ -109,7 +109,7 @@ class DefaultBeanInstanceGeneratorTests { void generateUsingNoArgConstructorAndContributorsDoesNotUseMethodReference() { CodeContribution contribution = generate(SimpleConfiguration.class.getDeclaredConstructors()[0], contrib -> contrib.statements().add(CodeBlock.of("// hello\n")), - BeanInstanceContributor.NO_OP); + BeanInstantiationContributor.NO_OP); assertThat(code(contribution)).isEqualTo(""" (instanceContext) -> { SimpleConfiguration bean = new SimpleConfiguration(); @@ -240,10 +240,10 @@ class DefaultBeanInstanceGeneratorTests { } private CodeContribution generate(Executable executable, - BeanInstanceContributor... beanInstanceContributors) { - DefaultBeanInstanceGenerator generator = new DefaultBeanInstanceGenerator(executable, - Arrays.asList(beanInstanceContributors)); - return generator.generateBeanInstance(new RuntimeHints()); + BeanInstantiationContributor... beanInstantiationContributors) { + DefaultBeanInstantiationGenerator generator = new DefaultBeanInstantiationGenerator(executable, + Arrays.asList(beanInstantiationContributors)); + return generator.generateBeanInstantiation(new RuntimeHints()); } private static Method method(Class type, String methodName, Class... parameterTypes) {