From 3712a51da1026da7c11b2b60ec5b2c6f3e2cac9d Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Fri, 4 Oct 2019 17:51:46 +0100 Subject: [PATCH] Polish Javadoc --- .../project/ProjectDescriptionCustomizer.java | 4 ++++ .../project/ProjectGenerationConfiguration.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectDescriptionCustomizer.java b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectDescriptionCustomizer.java index 36071b28..a7cdc120 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectDescriptionCustomizer.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectDescriptionCustomizer.java @@ -28,6 +28,10 @@ import org.springframework.core.Ordered; @FunctionalInterface public interface ProjectDescriptionCustomizer extends Ordered { + /** + * Customize the {@linkplain MutableProjectDescription project description}. + * @param description the project description to customize + */ void customize(MutableProjectDescription description); @Override diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectGenerationConfiguration.java b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectGenerationConfiguration.java index dac67ee4..335f2e60 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectGenerationConfiguration.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/project/ProjectGenerationConfiguration.java @@ -22,12 +22,29 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import io.spring.initializr.generator.condition.ProjectGenerationCondition; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.SpringFactoriesLoader; /** * Specialization of {@link Configuration} for configuration of project generation. + *

+ * Project generation configuration classes are regular Spring {@link Configuration} + * beans. They are located using the {@link SpringFactoriesLoader} mechanism (keyed + * against this class). Project generation beans can be {@link Conditional @Conditional} + * beans, usually based on the state of the {@link ProjectDescription} for which the + * {@link ProjectGenerationContext} was created. + *

+ * {@link ProjectGenerationConfiguration @ProjectGenerationConfiguration}-annotated types + * should not be processed by the main {@link ApplicationContext} so make sure regular + * classpath scanning is not enabled for packages where such configuration classes reside. * + * @see ProjectGenerationCondition * @author Andy Wilkinson + * @author Stephane Nicoll */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)