模块  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

        <? extends S> type()
        返回提供程序类型。 无法保证此类型是可访问的,或者它具有公共no-args构造函数。 应使用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.