Module java.base
Package java.util

Interface ServiceLoader.Provider<S>

类型参数:
S - 服务类型
所有超接口:
Supplier<S>
封闭类:
ServiceLoader<S>

public static interface ServiceLoader.Provider<S> extends Supplier<S>
表示由ServiceLoader定位的服务提供程序。

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

自版本:
9
  • Method Summary

    Modifier and Type
    Method
    Description
    S
    get()
    返回提供程序的实例。
    Class<? extends S>
    type()
    返回提供程序类型。
  • Method Details

    • type

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

      当模块声明提供程序类由提供程序工厂创建时,此方法返回其公共静态"provider()"方法的返回类型。

      返回:
      提供程序类型
    • get

      S get()
      返回提供程序的实例。
      指定者:
      get 在接口 Supplier<S>
      返回:
      提供程序的实例。
      抛出:
      ServiceConfigurationError - 如果无法实例化服务提供程序,或者在提供程序工厂的情况下,公共静态"provider()"方法返回null或抛出错误或异常。在可能的情况下,ServiceConfigurationError将携带适当的原因。