Класс 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, предоставляемых этим поставщиком. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения определенного промежутка реального времени. |
Подробное описание конструкторов
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, 2025, 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.