|
1 | 1 | /* |
2 | | - * Copyright 2012-2024 the original author or authors. |
| 2 | + * Copyright 2012-2025 the original author or authors. |
3 | 3 | * |
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | 5 | * you may not use this file except in compliance with the License. |
|
38 | 38 | * {@link Configuration#proxyBeanMethods() proxyBeanMethods} is always {@code false}. They |
39 | 39 | * are located using {@link ImportCandidates}. |
40 | 40 | * <p> |
41 | | - * Generally auto-configuration classes are marked as {@link Conditional @Conditional} |
42 | | - * (most often using {@link ConditionalOnClass @ConditionalOnClass} and |
| 41 | + * Generally, auto-configuration classes are top-level classes that are marked as |
| 42 | + * {@link Conditional @Conditional} (most often using |
| 43 | + * {@link ConditionalOnClass @ConditionalOnClass} and |
43 | 44 | * {@link ConditionalOnMissingBean @ConditionalOnMissingBean} annotations). |
44 | 45 | * |
45 | 46 | * @author Moritz Halbritter |
|
76 | 77 | String value() default ""; |
77 | 78 |
|
78 | 79 | /** |
79 | | - * The auto-configure classes that should have not yet been applied. |
| 80 | + * The auto-configuration classes that should have not yet been applied. |
80 | 81 | * @return the classes |
81 | 82 | */ |
82 | 83 | @AliasFor(annotation = AutoConfigureBefore.class, attribute = "value") |
83 | 84 | Class<?>[] before() default {}; |
84 | 85 |
|
85 | 86 | /** |
86 | | - * The names of the auto-configure classes that should have not yet been applied. |
| 87 | + * The names of the auto-configuration classes that should have not yet been applied. |
| 88 | + * In the unusual case that an auto-configuration class is not a top-level class, its |
| 89 | + * name should use {@code $} to separate it from its containing class, for example |
| 90 | + * {@code com.example.Outer$NestedAutoConfiguration}. |
87 | 91 | * @return the class names |
88 | 92 | */ |
89 | 93 | @AliasFor(annotation = AutoConfigureBefore.class, attribute = "name") |
90 | 94 | String[] beforeName() default {}; |
91 | 95 |
|
92 | 96 | /** |
93 | | - * The auto-configure classes that should have already been applied. |
| 97 | + * The auto-configuration classes that should have already been applied. |
94 | 98 | * @return the classes |
95 | 99 | */ |
96 | 100 | @AliasFor(annotation = AutoConfigureAfter.class, attribute = "value") |
97 | 101 | Class<?>[] after() default {}; |
98 | 102 |
|
99 | 103 | /** |
100 | | - * The names of the auto-configure classes that should have already been applied. |
| 104 | + * The names of the auto-configuration classes that should have already been applied. |
| 105 | + * In the unusual case that an auto-configuration class is not a top-level class, its |
| 106 | + * class name should use {@code $} to separate it from its containing class, for |
| 107 | + * example {@code com.example.Outer$NestedAutoConfiguration}. |
101 | 108 | * @return the class names |
102 | 109 | */ |
103 | 110 | @AliasFor(annotation = AutoConfigureAfter.class, attribute = "name") |
|
0 commit comments