Property

A container object that represents a configurable value of a specific type. A Property is also a Provider and can be used in the same way as a Provider. A property's value can be accessed using the methods of Provider such as get(). The value can be modified by using the methods set and set, or their fluid API counterparts value and value.

A property may represent a task output. Such a property carries information about the task producing its value. When this property is attached to an input of another task, Gradle will automatically determine the task dependencies based on this connection.

There are also several specialized subtypes of this interface that can be created using various other factory methods.

Instances of this interface are not thread-safe for reading and writing. It is not safe to share the same Property instance between different projects.

Note: This interface is not intended for implementation by build script or plugin authors.

Since

4.3

Parameters

<T>

Type of value represented by the property

See also

Create an instance of this as a managed property (preferred).

Create an instance of this manually.

Inheritors

Functions

Link copied to clipboard
abstract fun convention(@Nullable value: @Nullable T): Property<T>
Specifies the value to use as the convention (default value) for this property.
abstract fun convention(provider: Provider<out T>): Property<T>
Specifies the provider to be used to query the convention (default value) for this property.
Link copied to clipboard
abstract fun disallowChanges()
Disallows further direct changes to this object.
Link copied to clipboard
abstract fun disallowUnsafeRead()
Disallows reading the value of this object when its value may not yet be available or may still change.
Link copied to clipboard
abstract fun filter(spec: Spec<in T>): Provider<T>
Returns a new Provider with the value of this provider if the passed spec is satisfied and no value otherwise.
Link copied to clipboard
abstract fun finalizeValue()
Disallows further changes to the value of this property.
Link copied to clipboard
abstract fun finalizeValueOnRead()
Requests that the final value of this object be calculated on the next read of the value, if not already known.
Link copied to clipboard
abstract fun <S> flatMap(transformer: Transformer<out @Nullable Provider<out S>, in T>): Provider<S>
Returns a new Provider from the value of this provider transformed using the given function.
Link copied to clipboard
abstract fun get(): T
Returns the value of this provider if it has a value present, otherwise throws java.lang.IllegalStateException.
Link copied to clipboard
abstract fun getOrElse(defaultValue: T): T
Returns the value of this provider if it has a value present.
Link copied to clipboard
@Nullable
abstract fun getOrNull(): @Nullable T
Returns the value of this provider if it has a value present.
Link copied to clipboard
abstract fun isPresent(): Boolean
Returns true if there is a value present, otherwise false.
Link copied to clipboard
abstract fun <S> map(transformer: Transformer<out @Nullable S, in T>): Provider<S>
Returns a new Provider whose value is the value of this provider transformed using the given function.
Link copied to clipboard
abstract fun orElse(value: T): Provider<T>
Returns a Provider whose value is the value of this provider, if present, otherwise the given default value.
abstract fun orElse(provider: Provider<out T>): Provider<T>
Returns a Provider whose value is the value of this provider, if present, otherwise uses the value from the given provider, if present.
Link copied to clipboard
abstract fun set(@Nullable value: @Nullable T)
Sets the value of the property to the given value, replacing whatever value the property already had.
abstract fun set(provider: Provider<out T>)
Sets the property to have the same value as the given provider, replacing whatever value the property already had.
Link copied to clipboard
abstract fun unset(): Property<T>
Unsets this object's explicit value, allowing the convention to be selected when evaluating this object's value.
Link copied to clipboard
abstract fun unsetConvention(): Property<T>
Unsets this object's convention value.
Link copied to clipboard
abstract fun value(@Nullable value: @Nullable T): Property<T>
Sets the value of the property to the given value, replacing whatever value the property already had.
abstract fun value(provider: Provider<out T>): Property<T>
Sets the property to have the same value as the given provider, replacing whatever value the property already had.
Link copied to clipboard
abstract fun <U, R> zip(right: Provider<U>, combiner: BiFunction<in T, in U, out @Nullable R>): Provider<R>
Returns a provider which value will be computed by combining this provider value with another provider value using the supplied combiner function.