T
- Type of value represented by the propertyHasConfigurableValue
, Provider<T>
DirectoryProperty
, FileSystemLocationProperty<T>
, RegularFileProperty
public interface Property<T> extends Provider<T>, HasConfigurableValue
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 Provider.get()
. The value can be modified by using the method set(Object)
or set(Provider)
.
A property may be used to represent a task output. Such a property carries information about which task produces its value. When the property is attached to a task input, this allows Gradle to automatically calculate the dependencies between tasks based on the values they use as inputs and produce as outputs.
You can create a Property
instance using ObjectFactory.property(Class)
. There are also several specialized subtypes of this interface that can be created using various other factory methods.
Note: This interface is not intended for implementation by build script or plugin authors.
Modifier and Type | Method | Description |
---|---|---|
Property<T> |
convention(Provider<? extends T> valueProvider) |
Specifies the provider of the value to use as the convention for this property.
|
Property<T> |
convention(T value) |
Specifies the value to use as the convention for this property.
|
void |
finalizeValue() |
Disallows further changes to the value of this property.
|
void |
set(Provider<? extends T> provider) |
Sets the property to have the same value of the given provider, replacing whatever value the property already had.
|
void |
set(T value) |
Sets the value of the property the given value, replacing whatever value the property already had.
|
Property<T> |
value(Provider<? extends T> provider) |
Sets the property to have the same value of the given provider, replacing whatever value the property already had.
|
Property<T> |
value(T value) |
Sets the value of the property the given value, replacing whatever value the property already had.
|
disallowChanges, disallowUnsafeRead, finalizeValueOnRead
void set(@Nullable T value)
This method can also be used to discard the value of the property, by passing null
as the value.
The convention for this property, if any, will be used to provide the value instead.
value
- The value, can be null.void set(Provider<? extends T> provider)
When the given provider represents a task output, this property will also carry the task dependency information from the provider.
provider
- The provider whose value to use.@Incubating Property<T> value(@Nullable T value)
This is the same as set(Object)
but returns this property to allow method chaining.
value
- The value, can be null.@Incubating Property<T> value(Provider<? extends T> provider)
This is the same as set(Provider)
but returns this property to allow method chaining.
provider
- The provider whose value to use.@Incubating Property<T> convention(@Nullable T value)
value
- The value, or null
if the convention is that the property should have no value.@Incubating Property<T> convention(Provider<? extends T> valueProvider)
valueProvider
- The provider of the value.@Incubating void finalizeValue()
set(Object)
or set(Provider)
will fail.
When this property has a value provided by a Provider
, the value of the provider is queried when this method is called and the value of this property set to the result. The value of the provider will no longer be tracked.
Note that although the value of the property will not change, the value itself may be a mutable object. Calling this method does not guarantee that the value will become immutable.
finalizeValue
in interface HasConfigurableValue