Browse Source

Polish BeanDefinitionDsl

Issue: SPR-16412
pull/1841/head
Sebastien Deleuze 8 years ago
parent
commit
be416ef9c4
  1. 17
      spring-context/src/main/kotlin/org/springframework/context/support/BeanDefinitionDsl.kt

17
spring-context/src/main/kotlin/org/springframework/context/support/BeanDefinitionDsl.kt

@ -61,11 +61,7 @@ import java.util.function.Supplier @@ -61,11 +61,7 @@ import java.util.function.Supplier
* @see BeanDefinitionDsl
* @since 5.0
*/
fun beans(init: BeanDefinitionDsl.() -> Unit): BeanDefinitionDsl {
val beans = BeanDefinitionDsl()
beans.init = init
return beans
}
fun beans(init: BeanDefinitionDsl.() -> Unit) = BeanDefinitionDsl(init)
/**
* Class implementing functional bean definition Kotlin DSL.
@ -76,14 +72,13 @@ fun beans(init: BeanDefinitionDsl.() -> Unit): BeanDefinitionDsl { @@ -76,14 +72,13 @@ fun beans(init: BeanDefinitionDsl.() -> Unit): BeanDefinitionDsl {
* @author Sebastien Deleuze
* @since 5.0
*/
open class BeanDefinitionDsl(private val condition: (ConfigurableEnvironment) -> Boolean = { true })
open class BeanDefinitionDsl(private val init: BeanDefinitionDsl.() -> Unit,
private val condition: (ConfigurableEnvironment) -> Boolean = { true })
: ApplicationContextInitializer<GenericApplicationContext> {
@PublishedApi
internal val children = arrayListOf<BeanDefinitionDsl>()
internal lateinit var init: BeanDefinitionDsl.() -> Unit
/**
* Access to the context for advanced use-cases.
* @since 5.1
@ -238,8 +233,7 @@ open class BeanDefinitionDsl(private val condition: (ConfigurableEnvironment) -> @@ -238,8 +233,7 @@ open class BeanDefinitionDsl(private val condition: (ConfigurableEnvironment) ->
* specified profile is active.
*/
fun profile(profile: String, init: BeanDefinitionDsl.() -> Unit) {
val beans = BeanDefinitionDsl({ it.activeProfiles.contains(profile) })
beans.init = init
val beans = BeanDefinitionDsl(init, { it.activeProfiles.contains(profile) })
children.add(beans)
}
@ -251,8 +245,7 @@ open class BeanDefinitionDsl(private val condition: (ConfigurableEnvironment) -> @@ -251,8 +245,7 @@ open class BeanDefinitionDsl(private val condition: (ConfigurableEnvironment) ->
*/
fun environment(condition: ConfigurableEnvironment.() -> Boolean,
init: BeanDefinitionDsl.() -> Unit) {
val beans = BeanDefinitionDsl(condition::invoke)
beans.init = init
val beans = BeanDefinitionDsl(init, condition::invoke)
children.add(beans)
}

Loading…
Cancel
Save