Module  java.base
软件包  java.util

Interface ServiceLoader.Provider<S>

  • 参数类型
    S - 服务类型
    All Superinterfaces:
    Supplier<S>
    Enclosing class:
    ServiceLoader < S >


    public static interface ServiceLoader.Provider<S>
    extends Supplier<S>
    代表由ServiceLoader位于的服务提供商。

    当使用加载程序的stream()方法时,元素的类型为Provider 这允许处理在提供程序类上选择或过滤,而不实例化提供程序。

    从以下版本开始:
    9
    • 方法详细信息

      • type

        Class<? extends S> type​()
        返回提供者类型。 不能保证此类型是可访问的,或者它具有公共无参数构造函数。 应该使用get()方法来获取提供者实例。

        当模块声明提供者类由提供者工厂创建时,该方法返回其公共静态“ provider() ”方法的返回类型。

        结果
        提供者类型
      • get

        S get​()
        返回提供者的一个实例。
        Specified by:
        get在接口 Supplier<S>
        结果
        提供者的一个实例。
        异常
        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.