# Package-level declarations

The interfaces for value providers.

#### Since

4.0

## Types

HasConfigurableValue
Link copied to clipboard
interface 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
Link copied to clipboard
@SupportsKotlinAssignmentOverloading
interface HasMultipleValues<T> : HasConfigurableValue, SupportsConvention
Represents a property whose value can be set using multiple elements of type T, such as a collection property.
ListProperty
Link copied to clipboard
@ManagedType
interface ListProperty<T> : Provider<List<T>> , HasMultipleValues<T>
Represents a property whose type is a List of elements of type T.
MapProperty
Link copied to clipboard
@ManagedType
@SupportsKotlinAssignmentOverloading
interface MapProperty<K, V> : Provider<Map<K, V>> , HasConfigurableValue, SupportsConvention
Represents a property whose type is a Map of keys of type K and values of type V.
Property
Link copied to clipboard
@ManagedType
@SupportsKotlinAssignmentOverloading
interface Property<T> : Provider<T> , HasConfigurableValue, SupportsConvention
A container object that represents a configurable value of a specific type.
Provider
Link copied to clipboard
@NonExtensible
interface Provider<T>
A container object that provides a value of a specific type.
ProviderConvertible
Link copied to clipboard
@NonExtensible
interface ProviderConvertible<T>
An object that can be converted to a Provider.
ProviderFactory
Link copied to clipboard
@NonExtensible
@ServiceScope(value = Build::class)
interface ProviderFactory : GradleService, ProjectService, SettingsService, TaskService
A factory for creating instances of Provider.
SetProperty
Link copied to clipboard
@ManagedType
interface SetProperty<T> : Provider<Set<T>> , HasMultipleValues<T>
Represents a property whose type is a Set of elements of type T.
SupportsConvention
Link copied to clipboard
@Incubating
interface SupportsConvention
Marks a Gradle API custom type as supporting conventions.
ValueSource
Link copied to clipboard
interface ValueSource<T, P : ValueSourceParameters?>
Represents an external source of information used by a Gradle build.
ValueSourceParameters
Link copied to clipboard
interface ValueSourceParameters
Marker interface for parameter objects to ValueSources.
ValueSourceSpec
Link copied to clipboard
interface ValueSourceSpec<P : ValueSourceParameters?>
Base configuration for value source definitions.