@Incubating public interface ProviderFactory
Provider and PropertyState.
An instance of the factory can be injected into a task or plugin by annotating a public constructor or method with javax.inject.Inject.
public class MyTask extends DefaultTask {
// injection into a constructor
@javax.inject.Inject
public MyTask(ProviderFactory providerFactory) { }
// injection into a method
@javax.inject.Inject
public ProviderFactory getProviderFactory() {
throw new UnsupportedOperationException();
}
}
An instance of the factory is also available using Project.getProviders()
<T> Provider<T> provider(Callable<T> value)
Provider implementation based on the provided value.value - The java.util.concurrent.Callable use to calculate the value.InvalidUserDataException - If the provided value is null.<T> PropertyState<T> property(Class<T> clazz)
PropertyState implementation based on the provided class.
The value returned by the property state is the default value of the standard Java data type.
Please see Oracle's Java manual for more information.
Any other data type than the standard Java data types returns null as default value.
clazz - The class to be used for property state.InvalidUserDataException - If the provided class is null.