文档

Java™教程
隐藏目录
国际化的服务提供者
路径:国际化

课程:国际化的服务提供者

国际化的服务提供商可以插入与区域相关的数据和服务。由于可以插入区域相关的数据和服务,第三方可以提供java.textjava.util包中大多数与区域相关的类的实现。

服务是一组提供访问特定应用程序功能或特性的编程接口和类。服务提供商接口(SPI)是服务定义的一组公共接口和抽象类。服务提供商实现SPI。服务提供商使您能够创建可扩展的应用程序,可以在不修改其原始代码库的情况下进行扩展。您可以通过新的插件或模块增强其功能。有关服务提供商和可扩展应用程序的更多信息,请参阅创建可扩展应用程序

您可以使用国际化的服务提供商来提供以下区域相关类的自定义实现:

相应的SPI包含在java.text.spijava.util.spi包中:

java.util.spi java.text.spi

例如,如果你想为新的区域设置提供一个NumberFormat对象,你可以实现java.text.spi.NumberFormatProvider类并实现以下方法:

Locale loc = new Locale("da", "DK");
NumberFormat nf = NumberFormatProvider.getNumberInstance(loc);

这些方法首先检查Java运行时环境是否支持请求的区域设置;如果支持,则使用该支持。否则,这些方法会调用已安装提供程序的适当接口的getAvailableLocales方法,以查找支持请求的区域设置的提供程序。

有关如何使用服务提供程序进行国际化的详细示例,请参阅将自定义资源包安装为扩展。此部分向你展示如何实现ResourceBundleControlProvider接口,使你能够在不对应用程序源代码进行任何其他更改的情况下使用任何自定义ResourceBundle.Control类。


上一页:上一课程
下一页:安装自定义资源包作为扩展