# Package org.gradle.api.provider

@NonNullApi package org.gradle.api.provider
The interfaces for value providers.

Since:
  4.0

- Related Packages
  Package
  Description
  org.gradle.api
  Gradle's build language API, which is available from your build files.
- Class
  Description
  HasConfigurableValue
  Represents an object that holds a value that is configurable, meaning that the value or some source for the value, such as a `Provider`, can be specified directly on the object.
  HasMultipleValues<T>
  Represents a property whose value can be set using multiple elements of type `HasMultipleValues`, such as a collection property.
  ListProperty<T>
  Represents a property whose type is a `List` of elements of type `ListProperty`.
  MapProperty<K,V>
  Represents a property whose type is a `Map` of keys of type `MapProperty` and values of type `MapProperty`.
  Property<T>
  A container object that represents a configurable value of a specific type.
  Provider<T>
  A container object that provides a value of a specific type.
  ProviderConvertible<T>
  An object that can be converted to a `Provider`.
  ProviderFactory
  A factory for creating instances of `Provider`.
  SetProperty<T>
  Represents a property whose type is a `Set` of elements of type `SetProperty`.
  SupportsConvention
  Marks a Gradle API custom type as supporting conventions.
  ValueSource<T,P extends ValueSourceParameters>
  Represents an external source of information used by a Gradle build.
  ValueSourceParameters
  Marker interface for parameter objects to `ValueSource`s.
  ValueSourceParameters.None
  Used for sources without parameters.
  ValueSourceSpec<P extends ValueSourceParameters>
  Base configuration for value source definitions.