Spec-Zone.ru › OpenJDK 27

Класс AbstractResourceBundleProvider

java.lang.Object
java.util.spi.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
См. также:
  • Пакеты ресурсов и именованные модули

Краткое описание конструкторов

AbstractResourceBundleProvider()
AbstractResourceBundleProvider(String... formats)
Модификатор Конструктор Описание
protected
Создает AbstractResourceBundleProvider с форматом "java.properties".
protected
Создает AbstractResourceBundleProvider с указанным formats.

Краткое описание методов

Модификатор и тип Метод Описание
ResourceBundle getBundle(String baseName, Locale locale)
Возвращает ResourceBundle для заданных baseName и locale.
protected String toBundleName(String baseName, Locale locale)
Возвращает имя пакета для заданных baseName и locale, предоставляемых этим поставщиком.

Методы, объявленные в классе Object

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

Подробное описание конструкторов

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 — если при загрузке пакета ресурсов возникло исключение ввода-вывода

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API