# RegisteringDomainObjectDelegateProviderWithType

class RegisteringDomainObjectDelegateProviderWithType<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.

#### Since

4.10

## Types

Companion
Link copied to clipboard
object Companion

## Functions

provideDelegate
Link copied to clipboard
operator fun <T : Any, C : PolymorphicDomainObjectContainer<T>, U : T> RegisteringDomainObjectDelegateProviderWithType<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> RegisteringDomainObjectDelegateProviderWithType<out TaskContainer, U>.provideDelegate(receiver: Any?, property: KProperty<*>): ExistingDomainObjectDelegate<TaskProvider<U?>?>

Registers a task of the given type and provides a delegate with the resulting TaskProvider.