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 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 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 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 returns null or throws an error or exception. The ServiceConfigurationError will carry an appropriate cause where possible.

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部