Module java.base
Package java.util

Interface ServiceLoader.Provider<S>

  • Type Parameters:
    S - The service type
    All Superinterfaces:
    Supplier<S>
    Enclosing class:
    ServiceLoader<S>

    public static interfaceServiceLoader.Provider<S>extendsSupplier<S>
    Represents a service provider located byServiceLoader.

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

    Since:
    9
    • Method Detail

      • type

        Class<? extendsS> type()
        Returns the provider type. There is no guarantee that this type is accessible or that it has a public no-args constructor. Theget() 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 interface Supplier<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.