# RegisteringDomainObjectDelegateProviderWithTypeAndAction

class RegisteringDomainObjectDelegateProviderWithTypeAndAction<T, U : Any>(source)

### Deprecated

Use 'val element = register<Type>(name) { }' instead. See the Gradle 9.6 upgrading guide.

Holds the delegate provider and expected element type for the `registering` property delegate with the purpose of providing specialized implementations for the `provideDelegate` operator based on the static type of the provider.

## Types

Companion
Link copied to clipboard
object Companion

## Functions

provideDelegate
Link copied to clipboard
operator fun <T : Any, C : PolymorphicDomainObjectContainer<T>, U : T> RegisteringDomainObjectDelegateProviderWithTypeAndAction<C, U>.provideDelegate(receiver: Any?, property: KProperty<*>): ExistingDomainObjectDelegate<NamedDomainObjectProvider<U?>?>

Registers an element and provides a delegate with the resulting NamedDomainObjectProvider.

operator fun <U : Task> RegisteringDomainObjectDelegateProviderWithTypeAndAction<out TaskContainer, U>.provideDelegate(receiver: Any?, property: KProperty<*>): ExistingDomainObjectDelegate<TaskProvider<U?>?>

Registers a task of the given type that gets configured with the given action and provides a delegate with the resulting TaskProvider.