diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClass.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClass.java index d9a68bd8f5..16521a3b2f 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClass.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClass.java @@ -44,8 +44,7 @@ public @interface ConditionalOnClass { public Class[] value() default {}; /** - * The classes names that must be present. When possible {@link #value()} should be - * used in preference to this property. + * The classes names that must be present. * @return the class names that must be present. */ public String[] name() default {}; diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnExpression.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnExpression.java index fbeeccffe1..1c2af2322c 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnExpression.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnExpression.java @@ -35,7 +35,8 @@ import org.springframework.context.annotation.Conditional; public @interface ConditionalOnExpression { /** - * The SpEL expression. + * The SpEL expression to evaluate. Expression should return {@code true} if the + * condition passes or {@code false} if it fails. */ String value() default "true"; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingClass.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingClass.java index 4fbbdba6b7..30022870da 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingClass.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingClass.java @@ -25,7 +25,8 @@ import java.lang.annotation.Target; import org.springframework.context.annotation.Conditional; /** - * {@link Conditional} that only matches when the specified classes are on the classpath. + * {@link Conditional} that only matches when the specified classes are not on the + * classpath. * * @author Dave Syer */ @@ -36,8 +37,17 @@ import org.springframework.context.annotation.Conditional; public @interface ConditionalOnMissingClass { /** - * The classes names that must be absent. - * @return the class names that must be absent. + * The classes that must not be present. Since this annotation parsed by loading class + * bytecode it is safe to specify classes here that may ultimately not be on the + * classpath. + * @return the classes that must be present */ - public String[] value() default {}; + public Class[] value() default {}; + + /** + * The classes names that must not be present. + * @return the class names that must be present. + */ + public String[] name() default {}; + } diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnBeanConditionTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBeanTests.java similarity index 98% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnBeanConditionTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBeanTests.java index 97ee6c412b..aa322f9777 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnBeanConditionTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBeanTests.java @@ -33,7 +33,7 @@ import static org.junit.Assert.assertTrue; * @author Dave Syer */ @Ignore -public class OnBeanConditionTests { +public class ConditionalOnBeanTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnClassConditionTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClassTests.java similarity index 91% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnClassConditionTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClassTests.java index a82abf6a7b..c446fe4e2e 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnClassConditionTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnClassTests.java @@ -17,8 +17,6 @@ package org.springframework.boot.autoconfigure.condition; import org.junit.Test; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.OnClassCondition; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -30,11 +28,11 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** - * Tests for {@link OnClassCondition}. + * Tests for {@link ConditionalOnClass}. * * @author Dave Syer */ -public class OnClassConditionTests { +public class ConditionalOnClassTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); @@ -71,7 +69,7 @@ public class OnClassConditionTests { } @Configuration - @ConditionalOnClass(OnClassConditionTests.class) + @ConditionalOnClass(ConditionalOnClassTests.class) protected static class BasicConfiguration { @Bean public String bar() { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnExpressionConditionTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnExpressionTests.java similarity index 88% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnExpressionConditionTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnExpressionTests.java index 252f810b95..6808488025 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnExpressionConditionTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnExpressionTests.java @@ -17,8 +17,6 @@ package org.springframework.boot.autoconfigure.condition; import org.junit.Test; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; -import org.springframework.boot.autoconfigure.condition.OnExpressionCondition; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -28,11 +26,11 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** - * Tests for {@link OnExpressionCondition}. + * Tests for {@link ConditionalOnExpression}. * * @author Dave Syer */ -public class OnExpressionConditionTests { +public class ConditionalOnExpressionTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnMissingBeanConditionTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBeanTests.java similarity index 98% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnMissingBeanConditionTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBeanTests.java index cbf10cb8c9..9f67bd8d14 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnMissingBeanConditionTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBeanTests.java @@ -34,7 +34,7 @@ import static org.junit.Assert.assertTrue; * @author Phillip Webb */ @SuppressWarnings("resource") -public class OnMissingBeanConditionTests { +public class ConditionalOnMissingBeanTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnMissingClassConditionTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingClassTests.java similarity index 91% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnMissingClassConditionTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingClassTests.java index faa11f7d6c..dc8d3bdf1b 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnMissingClassConditionTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingClassTests.java @@ -30,7 +30,7 @@ import static org.junit.Assert.assertTrue; * * @author Dave Syer */ -public class OnMissingClassConditionTests { +public class ConditionalOnMissingClassTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); @@ -51,7 +51,7 @@ public class OnMissingClassConditionTests { } @Configuration - @ConditionalOnMissingClass("org.springframework.boot.autoconfigure.condition.OnMissingClassConditionTests") + @ConditionalOnMissingClass(ConditionalOnMissingClassTests.class) protected static class BasicConfiguration { @Bean public String bar() { @@ -60,7 +60,7 @@ public class OnMissingClassConditionTests { } @Configuration - @ConditionalOnMissingClass("FOO") + @ConditionalOnMissingClass(name = "FOO") protected static class MissingConfiguration { @Bean public String bar() { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnNotWebApplicationConditionTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnNotWebApplicationTests.java similarity index 97% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnNotWebApplicationConditionTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnNotWebApplicationTests.java index b38d7ce40a..78d2d4b051 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnNotWebApplicationConditionTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnNotWebApplicationTests.java @@ -30,7 +30,7 @@ import static org.junit.Assert.assertTrue; * * @author Dave Syer */ -public class OnNotWebApplicationConditionTests { +public class ConditionalOnNotWebApplicationTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnResourceConditionTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnResourceTests.java similarity index 88% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnResourceConditionTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnResourceTests.java index 84b57ebae0..309cde0fe1 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnResourceConditionTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnResourceTests.java @@ -17,8 +17,6 @@ package org.springframework.boot.autoconfigure.condition; import org.junit.Test; -import org.springframework.boot.autoconfigure.condition.ConditionalOnResource; -import org.springframework.boot.autoconfigure.condition.OnResourceCondition; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -28,11 +26,11 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** - * Tests for {@link OnResourceCondition}. + * Tests for {@link ConditionalOnResource}. * * @author Dave Syer */ -public class OnResourceConditionTests { +public class ConditionalOnResourceTests { private AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnWebApplicationConditionTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnWebApplicationTests.java similarity index 85% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnWebApplicationConditionTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnWebApplicationTests.java index 5c5f790968..391d28df34 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/OnWebApplicationConditionTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/ConditionalOnWebApplicationTests.java @@ -17,9 +17,6 @@ package org.springframework.boot.autoconfigure.condition; import org.junit.Test; -import org.springframework.boot.autoconfigure.condition.ConditionalOnNotWebApplication; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.mock.web.MockServletContext; @@ -30,11 +27,11 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** - * Tests for {@link OnWebApplicationCondition}. + * Tests for {@link ConditionalOnWebApplication}. * * @author Dave Syer */ -public class OnWebApplicationConditionTests { +public class ConditionalOnWebApplicationTests { private AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();