# Interface TaskProvider<T extends Task>

Type Parameters:
  `T` - Task type

All Superinterfaces:
  `NamedDomainObjectProvider<T>, Provider<T>`

public interface TaskProvider<T extends Task> extends NamedDomainObjectProvider<T>
Providers a task of the given type.

Since:
  4.8

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `configure(Action<? super T> action)`
  Configures the task with the given action.
  `String`
  `getName()`
  The task name referenced by this provider.

  ### Methods inherited from interface Provider

  `filter, flatMap, get, getOrElse, getOrNull, isPresent, map, orElse, orElse, zip`

- ## Method Details

  - ### configure

    void configure(Action<? super T> action)
    Configures the task with the given action. Actions are run in the order added.
    Specified by:
      `configure` in interface `NamedDomainObjectProvider<T extends Task>`
    Parameters:
      `action` - A `Action` that can configure the task when required.
    Since:
      4.8

  - ### getName

    String getName()
    The task name referenced by this provider.

    Must be constant for the life of the object.

    Specified by:
      `getName` in interface `NamedDomainObjectProvider<T extends Task>`
    Returns:
      The task name. Never null.
    Since:
      4.9