Slide 23
Slide 23 text
Copyrights(c) Henry, Inc. All rights reserved.
byによる委譲(2)
// タスクを作る
val barTask by tasks.creating(Bar::class) {}
// tasks.creating() はPolymorphicDomainObjectContainerCreatingDelegateProvider
// インスタンスを返す。このクラスには以下のメソッドが実装されている:
operator fun provideDelegate(thisRef: Any?, property: KProperty<*>) =
ExistingDomainObjectDelegate.of(
when (configuration) {
null -> container.create(property.name, type)
else -> container.create(property.name, type, configuration)
}
)
23