Class Provider<T>

java.lang.Object
overit.geocall.platform.sp.Provider<T>
Type Parameters:
T - the service type
All Implemented Interfaces:
Supplier<T>

public class Provider<T> extends Object implements Supplier<T>
Represents a service provider located by ServiceLoader. This allows processing to select or filter on the provider class without instantiating the provider.
  • Constructor Details

    • Provider

      public Provider(String service, Class<? extends T> type)
  • Method Details

    • type

      public Class<? extends T> type()
      Returns the provider type. There is no guarantee that this type is accessible or that it has a public no-args constructor. The get() method should be used to obtain the provider instance.

      When a module declares that the provider class is created by a provider factory then this method returns the return type of its public static "provider()" method.

      Returns:
      The provider type
    • get

      public T get()
      Returns an instance of the provider.
      Specified by:
      get in interface Supplier<T>
      Returns:
      An instance of the provider.
      Throws:
      ServiceConfigurationError - If the service provider cannot be instantiated, or in the case of a provider factory, the public static "provider()" method returns null or throws an error or exception. The ServiceConfigurationError will carry an appropriate cause where possible.