Polishing
This commit is contained in:
		
							parent
							
								
									2bc213d703
								
							
						
					
					
						commit
						2f8c5a580a
					
				|  | @ -38,6 +38,13 @@ import org.springframework.core.env.Environment; | ||||||
|  */ |  */ | ||||||
| public interface BeanRegistry { | public interface BeanRegistry { | ||||||
| 
 | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * Register beans using the given {@link BeanRegistrar}. | ||||||
|  | 	 * @param registrar the bean registrar that will be called to register | ||||||
|  | 	 * additional beans | ||||||
|  | 	 */ | ||||||
|  | 	void register(BeanRegistrar registrar); | ||||||
|  | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Given a name, register an alias for it. | 	 * Given a name, register an alias for it. | ||||||
| 	 * @param name the canonical name | 	 * @param name the canonical name | ||||||
|  | @ -88,12 +95,6 @@ public interface BeanRegistry { | ||||||
| 	 */ | 	 */ | ||||||
| 	<T> void registerBean(String name, Class<T> beanClass, Consumer<Spec<T>> customizer); | 	<T> void registerBean(String name, Class<T> beanClass, Consumer<Spec<T>> customizer); | ||||||
| 
 | 
 | ||||||
| 	/** |  | ||||||
| 	 * Register beans using the given {@link BeanRegistrar}. |  | ||||||
| 	 * @param registrar the bean registrar that will be called to register |  | ||||||
| 	 * additional beans |  | ||||||
| 	 */ |  | ||||||
| 	void register(BeanRegistrar registrar); |  | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Specification for customizing a bean. | 	 * Specification for customizing a bean. | ||||||
|  |  | ||||||
|  | @ -64,6 +64,41 @@ open class BeanRegistrarDsl(private val init: BeanRegistrarDsl.() -> Unit): Bean | ||||||
| 	 */ | 	 */ | ||||||
| 	lateinit var env: Environment | 	lateinit var env: Environment | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * Apply the nested block if the given profile expression matches the | ||||||
|  | 	 * active profiles. | ||||||
|  | 	 * | ||||||
|  | 	 * A profile expression may contain a simple profile name (for example | ||||||
|  | 	 * `"production"`) or a compound expression. A compound expression allows | ||||||
|  | 	 * for more complicated profile logic to be expressed, for example | ||||||
|  | 	 * `"production & cloud"`. | ||||||
|  | 	 * | ||||||
|  | 	 * The following operators are supported in profile expressions: | ||||||
|  | 	 *  - `!` - A logical *NOT* of the profile name or compound expression | ||||||
|  | 	 *  - `&` - A logical *AND* of the profile names or compound expressions | ||||||
|  | 	 *  - `|` - A logical *OR* of the profile names or compound expressions | ||||||
|  | 	 * | ||||||
|  | 	 * Please note that the `&` and `|` operators may not be mixed | ||||||
|  | 	 * without using parentheses. For example, `"a & b | c"` is not a valid | ||||||
|  | 	 * expression: it must be expressed as `"(a & b) | c"` or `"a & (b | c)"`. | ||||||
|  | 	 * @param expression the profile expressions to evaluate | ||||||
|  | 	 */ | ||||||
|  | 	fun profile(expression: String, init: BeanRegistrarDsl.() -> Unit) { | ||||||
|  | 		if (env.matchesProfiles(expression)) { | ||||||
|  | 			init() | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	/** | ||||||
|  | 	 * Register beans using the given [BeanRegistrar]. | ||||||
|  | 	 * @param registrar the bean registrar that will be called to register | ||||||
|  | 	 * additional beans | ||||||
|  | 	 */ | ||||||
|  | 	fun register(registrar: BeanRegistrar) { | ||||||
|  | 		return registry.register(registrar) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Given a name, register an alias for it. | 	 * Given a name, register an alias for it. | ||||||
| 	 * @param name the canonical name | 	 * @param name the canonical name | ||||||
|  | @ -345,39 +380,6 @@ open class BeanRegistrarDsl(private val init: BeanRegistrarDsl.() -> Unit): Bean | ||||||
| 		return registry.registerBean(T::class.java, customizer) | 		return registry.registerBean(T::class.java, customizer) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** |  | ||||||
| 	 * Register beans using the given [BeanRegistrar]. |  | ||||||
| 	 * @param registrar the bean registrar that will be called to register |  | ||||||
| 	 * additional beans |  | ||||||
| 	 */ |  | ||||||
| 	fun register(registrar: BeanRegistrar) { |  | ||||||
| 		return registry.register(registrar) |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Apply the nested block if the given profile expression matches the |  | ||||||
| 	 * active profiles. |  | ||||||
| 	 * |  | ||||||
| 	 * A profile expression may contain a simple profile name (for example |  | ||||||
| 	 * `"production"`) or a compound expression. A compound expression allows |  | ||||||
| 	 * for more complicated profile logic to be expressed, for example |  | ||||||
| 	 * `"production & cloud"`. |  | ||||||
| 	 * |  | ||||||
| 	 * The following operators are supported in profile expressions: |  | ||||||
| 	 *  - `!` - A logical *NOT* of the profile name or compound expression |  | ||||||
| 	 *  - `&` - A logical *AND* of the profile names or compound expressions |  | ||||||
| 	 *  - `|` - A logical *OR* of the profile names or compound expressions |  | ||||||
| 	 * |  | ||||||
| 	 * Please note that the `&` and `|` operators may not be mixed |  | ||||||
| 	 * without using parentheses. For example, `"a & b | c"` is not a valid |  | ||||||
| 	 * expression: it must be expressed as `"(a & b) | c"` or `"a & (b | c)"`. |  | ||||||
| 	 * @param expression the profile expressions to evaluate |  | ||||||
| 	 */ |  | ||||||
| 	fun profile(expression: String, init: BeanRegistrarDsl.() -> Unit) { |  | ||||||
| 		if (env.matchesProfiles(expression)) { |  | ||||||
| 			init() |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Context available from the bean instance supplier designed to give access | 	 * Context available from the bean instance supplier designed to give access | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue