Spec-Zone.ru › OpenJDK 21

Класс Locale.Builder

java.lang.Object
java.util.Locale.Builder
Вложенный класс:
Locale
public static final class Locale.Builder extends Object
Builder используется для построения экземпляров Locale из значений, настроенных с помощью методов-сеттеров. В отличие от конструкторов Locale или методов-фабрик Locale.of(), класс Builder проверяет, удовлетворяет ли значение, настроенное с помощью сеттера, требованиям синтаксиса, определённым классом Locale. Объект Locale, полученный из объекта Builder, является корректным и может быть преобразован в корректный тег языка IETF BCP 47 без потери информации.
Примечание по реализации:
Класс Locale не накладывает никаких синтаксических ограничений на вариант, в то время как BCP 47 требует, чтобы каждый подтег варианта состоял из 5-8 буквенно-цифровых символов или одного цифрового символа, за которым следуют 3 буквенно-цифровых символа. Метод setVariant выбрасывает исключение IllformedLocaleException для варианта, который не удовлетворяет этому ограничению. Если необходимо поддерживать такой вариант, используйте Locale.of(String, String, String). Однако помните, что объект Locale, полученный таким образом, может потерять информацию о варианте при преобразовании в тег языка BCP 47.

Следующий пример показывает, как получить объект Locale, используя Builder.

Locale aLocale = new Locale.Builder().setLanguage("sr").setScript("Latn").setRegion("RS").build();

Строители могут быть повторно использованы; clear() сбрасывает все поля до их значений по умолчанию.

С:
1.7
См. также:
  • Locale.forLanguageTag(java.lang.String)
  • Locale.of(String, String, String)

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

Конструктор Описание
Builder()
Создаёт пустой билдер.

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

Модификатор и тип Метод Описание
Locale.Builder addUnicodeLocaleAttribute(String attribute)
Добавляет атрибут локалей Юникода, если он ещё не присутствует, в противном случае не оказывает никакого эффекта.
Locale build()
Возвращает экземпляр Locale, полученный из полей, заданных в этом билдере.
Locale.Builder clear()
Сбрасывает билдер в его первоначальное, пустое состояние.
Locale.Builder clearExtensions()
Сбрасывает расширения до их первоначального, пустого состояния.
Locale.Builder removeUnicodeLocaleAttribute(String attribute)
Удаляет атрибут локалей Юникода, если он присутствует, в противном случае не оказывает никакого эффекта.
Locale.Builder setExtension(char key, String value)
Устанавливает расширение для данного ключа.
Locale.Builder setLanguage(String language)
Устанавливает язык.
Locale.Builder setLanguageTag(String languageTag)
Сбрасывает билдер, чтобы он соответствовал предоставленному тегу языка IETF BCP 47.
Locale.Builder setLocale(Locale locale)
Сбрасывает Builder для соответствия предоставленному locale.
Locale.Builder setRegion(String region)
Устанавливает регион.
Locale.Builder setScript(String script)
Устанавливает сценарий.
Locale.Builder setUnicodeLocaleKeyword(String key, String type)
Устанавливает тип ключевого слова локали Юникода для данного ключа.
Locale.Builder setVariant(String variant)
Устанавливает вариант.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

Конструктор

public Builder()
Создаёт пустой экземпляр билдера. Значение по умолчанию всех полей, расширений и информации для частного использования — пустая строка.

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

setLocale

public Locale.Builder setLocale(Locale locale)
Сбрасывает Builder в соответствии с переданным locale. Существующее состояние игнорируется.

Все поля локали должны быть правильно сформированы, см. Locale.

Локали с некорректно сформированными полями вызывают исключение IllformedLocaleException, за исключением следующих трёх случаев, которые принимаются для совместимости:

  • Locale("ja", "JP", "JP") обрабатывается как "ja-JP-u-ca-japanese"
  • Locale("th", "TH", "TH") обрабатывается как "th-TH-u-nu-thai"
  • Locale("no", "NO", "NY") обрабатывается как "nn-NO"
Параметры:
locale - локаль
Возвращает:
Этот билдер.
Исключения:
IllformedLocaleException - если locale содержит некорректно сформированные поля.
NullPointerException - если locale равно null.

setLanguageTag

public Locale.Builder setLanguageTag(String languageTag)
Сбрасывает билдер в соответствии с переданным языковым тегом IETF BCP 47. Существующее состояние игнорируется. Значения null и пустая строка сбрасывают билдер, как clear(). Устаревшие теги (см. Locale.forLanguageTag(java.lang.String)) преобразуются в каноническую форму перед обработкой. В противном случае, языковой тег должен быть правильно сформирован (см. Locale), иначе выбросится исключение (в отличие от Locale.forLanguageTag, которое просто отбрасывает некорректно сформированные части тега).
Параметры:
languageTag - языковой тег
Возвращает:
Этот билдер.
Исключения:
IllformedLocaleException - если languageTag некорректно сформирован
См. также:
  • Locale.forLanguageTag(String)

setLanguage

public Locale.Builder setLanguage(String language)
Устанавливает язык. Если language пустая строка или null, язык в этой Builder удаляется. В противном случае, язык должен быть правильно сформированным, иначе выбросится исключение.

Типичное значение языка — двух- или трёхбуквенный код языка, как определено в ISO639.

Параметры:
language - язык
Возвращает:
Этот билдер.
Исключения:
IllformedLocaleException - если language некорректно сформирован

setScript

public Locale.Builder setScript(String script)
Устанавливает сценарий. Если script null или пустая строка, сценарий в этой Builder удаляется. В противном случае, сценарий должен быть правильно сформированным, иначе выбросится исключение.

Типичное значение сценария — четырёхбуквенный код сценария, определённый в ISO 15924.

Параметры:
script - сценарий
Возвращает:
Этот билдер.
Исключения:
IllformedLocaleException - если script некорректно сформирован

setRegion

public Locale.Builder setRegion(String region)
Устанавливает регион. Если регион null или пустая строка, регион в этой Builder удаляется. В противном случае, регион должен быть правильно сформированным, иначе выбросится исключение.

Типичное значение региона — двухбуквенный код ISO 3166 или трёхзначный код региона UN M.49.

Значение страны в Locale полученной из Builder всегда нормализуется к верхнему регистру.

Параметры:
region - регион
Возвращает:
Этот билдер.
Исключения:
IllformedLocaleException - если region некорректно сформирован

setVariant

public Locale.Builder setVariant(String variant)
Устанавливает вариант. Если variant null или пустая строка, вариант в этой Builder удаляется. В противном случае, он должен состоять из одного или нескольких правильно сформированных субтегов, иначе выбросится исключение.

Примечание: Этот метод проверяет, удовлетворяет ли variant синтаксическим требованиям субтега варианта IETF BCP 47, и нормализует значение к строчным буквам. Однако класс Locale не накладывает никаких синтаксических ограничений на вариант, и значение варианта в Locale регистрозависимо. Чтобы установить такой вариант, используйте Locale.of(String, String, String).

Параметры:
variant - вариант
Возвращает:
Этот билдер.
Исключения:
IllformedLocaleException - если variant некорректно сформирован
См. также:
  • Locale.of(String, String, String)

setExtension

public Locale.Builder setExtension(char key, String value)
Устанавливает расширение для данного ключа. Если значение null или пустая строка, расширение удаляется. В противном случае, расширение должно быть правильно сформированным, иначе выбросится исключение.

Примечание: Ключ UNICODE_LOCALE_EXTENSION ('u') используется для расширения локали Юникода. Установка значения для этого ключа заменяет все существующие пары ключ/тип локали Юникода парами, определёнными в расширении.

Примечание: Ключ PRIVATE_USE_EXTENSION ('x') используется для кода частного использования. Для правильной формы значение для этого ключа должно содержать только от одного до восьми буквенно-цифровых символов, а не от двух до восьми, как в общем случае.

Параметры:
key - ключ расширения
value - значение расширения
Возвращает:
Этот билдер.
Исключения:
IllformedLocaleException - если key некорректный или value некорректно сформирован
См. также:
  • setUnicodeLocaleKeyword(String, String)

setUnicodeLocaleKeyword

public Locale.Builder setUnicodeLocaleKeyword(String key, String type)
Устанавливает тип ключа локали Юникода для данного ключа. Если тип null, ключевое слово локали Юникода удаляется. В противном случае, ключ не должен быть null, и ключ и тип должны быть правильно сформированными, иначе выбросится исключение.

Ключи и типы преобразуются в нижний регистр.

Примечание: Установка расширения 'u' через setExtension(char, java.lang.String) заменяет все ключевые слова локали Юникода значениями, определёнными в расширении.

Параметры:
key - ключ локали Юникода
type - тип ключа локали Юникода
Возвращает:
Этот билдер.
Исключения:
IllformedLocaleException - если key или type некорректно сформированы
NullPointerException - если key равно null
См. также:
  • setExtension(char, String)

addUnicodeLocaleAttribute

public Locale.Builder addUnicodeLocaleAttribute(String attribute)
Добавляет атрибут локали Юникода, если он ещё не присутствует, в противном случае не оказывает никакого влияния. Атрибут не должен быть null и должен быть правильно сформированным, иначе выбросится исключение.
Параметры:
attribute - атрибут
Возвращает:
Этот билдер.
Исключения:
NullPointerException - если attribute равно null
IllformedLocaleException - если attribute некорректно сформирован
См. также:
  • setExtension(char, String)

removeUnicodeLocaleAttribute

public Locale.Builder removeUnicodeLocaleAttribute(String attribute)
Удаляет атрибут локали Юникода, если он присутствует, в противном случае не оказывает никакого влияния. Атрибут не должен быть null и должен быть правильно сформированным, иначе выбросится исключение.

Сравнение атрибутов для удаления не учитывает регистр.

Параметры:
attribute - атрибут
Возвращает:
Этот билдер.
Исключения:
NullPointerException - если attribute равно null
IllformedLocaleException - если attribute некорректно сформирован
См. также:
  • setExtension(char, String)

очистить

public Locale.Builder clear()
Сбрасывает билдер в его начальное, пустое состояние.
Возвращает:
Этот билдер.

очиститьРасширения

public Locale.Builder clearExtensions()
Сбрасывает расширения в их начальное, пустое состояние. Язык, сценарий, регион и вариант остаются неизменными.
Возвращает:
Этот билдер.
См. также:
  • setExtension(char, String)

build

public Locale build()
Возвращает экземпляр Locale, полученный из полей, установленных в этом билдере.

При построении объекта Locale применяются преобразования, перечисленные в Locale.forLanguageTag(java.lang.String). (Устаревшие теги обрабатываются в setLanguageTag(java.lang.String).)

Возвращает:
Объект Locale.

© 1993, 2023, 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/21/docs/api/java.base/java/util/Locale.Builder.html

Spec-Zone.ru

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