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
Methods
Modifier and Type | Method | Description |
---|---|---|
S | get() | Returns an instance of the provider. |
Class<? extends S> | type() | Returns the provider type. |
Methods
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.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ServiceLoader.Provider.html