Added in API level 35

ServiceLoader.Provider

public static interface ServiceLoader.Provider
implements Supplier<S>

java.util.ServiceLoader.Provider<S>


Represents a service provider located by ServiceLoader.

When using a loader's stream() method then the elements are of type Provider. This allows processing to select or filter on the provider class without instantiating the provider.

Summary

Public methods

abstract S get()

Returns an instance of the provider.

abstract Class<? extends S> type()

Returns the provider type.

Inherited methods

Public methods

get

Added in API level 35
public abstract S get ()

Returns an instance of the provider.

Returns
S 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.

type

Added in API level 35
public abstract Class<? extends S> 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
Class<? extends S> The provider type