Interface ProviderFactory


  • @Incubating
    public interface ProviderFactory
    A factory for creating instances of Provider.

    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()

    Since:
    4.0
    • Method Detail

      • provider

        <T> Provider<T> provider​(Callable<? extends T> value)
        Creates a Provider whose value is calculated using the given Callable.

        The provider is live and will call the Callable each time its value is queried. The Callable may return null, in which case the provider is considered to have no value.

        Parameters:
        value - The java.util.concurrent.Callable use to calculate the value.
        Returns:
        The provider. Never returns null.