Spec-Zone.ru › OpenJDK 24

Класс 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(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)
Задает тип ключевого слова Unicode locale для данного ключа.
Locale.Builder setVariant(String variant)
Задает вариант.

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

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

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

Builder

public Builder()
Создаёт пустой 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)
Сбрасывает Builder, чтобы соответствовать предоставленному тегу языка IETF BCP 47. Существующее состояние отбрасывается. Значения null и пустая строка вызывают сброс билдера, как в clear(). Старые теги (см. Locale.forLanguageTag(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)
Устанавливает вариант. Если вариант 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, 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)

clear

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

clearExtensions

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

build

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

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

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

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Locale.Builder.html

Spec-Zone.ru

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