Interface ServiceLoader.Provider<S>
- Type Parameters:
-
S
- The service type
- All Superinterfaces:
Supplier<S>
- Enclosing class:
- ServiceLoader<S>
public static interface ServiceLoader.Provider<S> extends Supplier<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.
- Since:
- 9
Method Summary
Modifier and Type | Method | Description |
---|---|---|
S | get() | Returns an instance of the provider. |
Class<? extends S> | type() | Returns the provider type. |
Method Detail
type
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:
- The provider type
get
S get()
Returns an instance of the provider.
- Specified by:
-
get
in interfaceSupplier<S>
- 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 returnsnull
or throws an error or exception. TheServiceConfigurationError
will carry an appropriate cause where possible.