Класс AbstractResourceBundleProvider
- Все реализованные интерфейсы:
ResourceBundleProvider
public abstract class AbstractResourceBundleProvider extends Object implements ResourceBundleProvider
AbstractResourceBundleProvider является абстрактным классом, предоставляющим базовую поддержку для реализации класса-провайдера для ResourceBundleProvider. Наборы ресурсов могут быть упакованы в один или несколько именованных модулей, модулях поставщиков сервисов. Потребитель набора ресурсов - это тот, кто вызывает ResourceBundle.getBundle(String). Для того, чтобы модуль-потребитель загрузил набор ресурсов "com.example.app.MyResources", предоставляемый другим модулем, он будет использовать механизм загрузчика сервисов. Должен быть определен интерфейс сервиса под названием "com.example.app.spi.MyResourcesProvider", и модуль поставщика сервиса предоставит класс реализации "com.example.app.spi.MyResourcesProvider" следующим образом:
Обратитесь кimport com.example.app.spi.MyResourcesProvider; class MyResourcesProviderImpl extends AbstractResourceBundleProvider implements MyResourcesProvider { public MyResourcesProviderImpl() { super("java.properties"); } // this provider maps the resource bundle to per-language package protected String toBundleName(String baseName, Locale locale) { return "p." + locale.getLanguage() + "." + baseName; } public ResourceBundle getBundle(String baseName, Locale locale) { // this module only provides bundles in French if (locale.equals(Locale.FRENCH)) { return super.getBundle(baseName, locale); } // otherwise return null return null; } }
ResourceBundleProvider для получения подробной информации.- С:
- 9
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт AbstractResourceBundleProvider с форматом "java.properties". |
|
protected |
Создаёт AbstractResourceBundleProvider с указанным formats. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ResourceBundle |
getBundle |
Возвращает ResourceBundle для данного baseName и locale. |
protected String |
toBundleName |
Возвращает имя набора ресурсов для данного baseName и
locale, предоставляемое этим провайдером. |
Подробное описание конструкторов
AbstractResourceBundleProvider
protected AbstractResourceBundleProvider()
AbstractResourceBundleProvider с форматом "java.properties". Этот конструктор эквивалентен AbstractResourceBundleProvider("java.properties").AbstractResourceBundleProvider
protected AbstractResourceBundleProvider(String... formats)
AbstractResourceBundleProvider с указанным formats. Метод getBundle(String, Locale) ищет наборы ресурсов для данного formats. formats должен быть "java.class" или "java.properties".- Параметры:
-
formats- форматы, которые будут использоваться для загрузки наборов ресурсов - Исключения:
-
NullPointerException- если данныйformatsравен null -
IllegalArgumentException- если данныйformatsне равен "java.class" или "java.properties".
Подробное описание методов
toBundleName
protected String toBundleName(String baseName, Locale locale)
baseName и
locale, предоставляемое этим провайдером.- Примечание API:
- Провайдер набора ресурсов может упаковывать свои наборы ресурсов в том же пакете, что и базовое имя набора ресурсов, если пакет не разделен между другими именованными модулями. Если существует более одного провайдера наборов ресурсов, предоставляющих набор ресурсов с заданным базовым именем, наборы ресурсов могут быть упакованы с группировкой по языку или группировкой по региону, чтобы устранить разделение пакетов.
Например, если
baseNameравно"p.resources.Bundle", то имя набора ресурсов для"p.resources.Bundle"отLocale("ja", "", "XX")иLocale("en")может быть"p.resources.ja.Bundle_ja_ _XX"и"p.resources.Bundle_en"соответственно.Этот метод вызывается из реализации по умолчанию метода
getBundle(String, Locale). - Примечание реализации:
- Реализация этого метода по умолчанию такая же, как реализация
ResourceBundle.Control.toBundleName(String, Locale). - Параметры:
-
baseName- базовое имя набора ресурсов, полное имя класса -
locale- язык, для которого должен быть загружен набор ресурсов - Возвращает:
- имя набора ресурсов для набора ресурсов
getBundle
public ResourceBundle getBundle(String baseName, Locale locale)
ResourceBundle для данного baseName и locale.- Задано в:
-
getBundleв интерфейсеResourceBundleProvider - Примечание реализации:
- Реализация этого метода по умолчанию вызывает метод
toBundleNameдля получения имени набора ресурсов дляbaseNameиlocale, и находит набор ресурсов с именем набора ресурсов в модуле этого провайдера. Он будет искать только указанные форматы при построении этого провайдера. - Параметры:
-
baseName- базовое имя набора ресурсов, полное имя класса. -
locale- язык, для которого должен быть создан набор ресурсов - Возвращает:
-
ResourceBundleданногоbaseNameиlocale, илиnullесли набор ресурсов не найден - Исключения:
-
NullPointerException- еслиbaseNameилиlocaleравноnull -
UncheckedIOException- если при загрузке набора ресурсов произошла какая-либо ошибка ввода-вывода
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/spi/AbstractResourceBundleProvider.html