モジュール java.base
パッケージ java.util

クラスLocale.Builder

java.lang.Object
java.util.Locale.Builder
含まれているクラス:
Locale

public static final class Locale.Builder extends Object
Builderは、setterによって構成される値からLocaleのインスタンスを構築するために使用されます。 LocaleコンストラクタまたはLocale.of()ファクトリ・メソッドとは異なり、Builderは、セッターで構成された値がLocaleクラスで定義されている構文要件を満たしているかどうかをチェックします。 Builderから取得したLocaleオブジェクトは整形式であり、情報を失うことなく整形式のIETF BCP 47言語タグに変換できます。
実装上のノート:
Localeクラスはバリアントに対する構文上の制限を提供しませんが、BCP 47では各バリアント・サブタグが5から8個の英数字であるか、1つの数字の後に3個の英数字が続く必要があります。 バリアントがこの制限を満たしていない場合、setVariantIllformedLocaleExceptionをスローします。 このようなバリアントをサポートする必要がある場合は、Locale.of(String, String, String)を使用します。 ただし、この方法で取得したLocaleオブジェクトは、BCP 47言語タグに変換されたときにバリアント情報が失われる可能性があることに注意してください。

次の例は、Builderを使用してLocaleオブジェクトを取得する方法を示しています。

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

Builderは再利用できます。clear()は、すべてのフィールドをデフォルト値にリセットします。

導入されたバージョン:
1.7
関連項目:
  • コンストラクタの詳細

    • Builder

      public Builder()
      空のBuilderを構築します。 すべてのフィールド、拡張、および私用情報のデフォルト値は、空の文字列です。
  • メソッドの詳細

    • setLocale

      public Locale.Builder setLocale(Locale locale)
      Builderを指定されたlocaleに適合するようにリセットします。 既存の状態は破棄されます。

      ロケールのフィールドはすべて整形式でなければいけません。Localeを参照してください。

      ロケールに整形式でないフィールドが含まれていると、互換性のために許容されている次の3つの場合を除き、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()と同様にBuilderがリセットされます。 レガシー・タグ(Locale.forLanguageTag(java.lang.String)を参照してください)は、処理前に標準形式に変換されます。 それ以外の場合、言語タグは整形式でなければならず(Localeを参照)、そうでない場合は例外がスローされます(タグの整形式でない部分以降を単に破棄するLocale.forLanguageTagとは異なります)。
      パラメータ:
      languageTag - 言語タグ
      戻り値:
      このビルダー。
      例外:
      IllformedLocaleException - languageTagが整形式でない場合
      関連項目:
    • setLanguage

      public Locale.Builder setLanguage(String language)
      言語を設定します。 languageが空の文字列またはnullの場合は、このBuilderの言語が削除されます。 それ以外の場合、言語は整形式でなければならず、そうでない場合は例外がスローされます。

      通常、言語の値は、ISO639で定義されている2文字または3文字の言語コードです。

      パラメータ:
      language - 言語
      戻り値:
      このビルダー。
      例外:
      IllformedLocaleException - languageが整形式でない場合
    • setScript

      public Locale.Builder setScript(String script)
      スクリプトを設定します。 scriptがnullまたは空の文字列の場合は、このBuilderのスクリプトが削除されます。 それ以外の場合、スクリプトは整形式でなければならず、そうでない場合は例外がスローされます。

      通常、スクリプトの値は、ISO 15924で定義されている4文字のスクリプト・コードです。

      パラメータ:
      script - スクリプト
      戻り値:
      このビルダー。
      例外:
      IllformedLocaleException - scriptが整形式でない場合
    • setRegion

      public Locale.Builder setRegion(String region)
      地域を設定します。 regionがnullまたは空の文字列の場合は、このBuilderの地域が削除されます。 それ以外の場合、地域は整形式でなければならず、そうでない場合は例外がスローされます。

      通常、地域の値は、2文字のISO 3166コードか、3桁のUN M.49地域コードです。

      Builderから取得したLocaleの国値は、常に大文字に正規化されます。

      パラメータ:
      region - 地域
      戻り値:
      このビルダー。
      例外:
      IllformedLocaleException - regionが整形式でない場合
    • setVariant

      public Locale.Builder setVariant(String variant)
      バリアントを設定します。 variantがnullまたは空の文字列の場合は、このBuilderのバリアントが削除されます。 それ以外の場合、1つ以上の整形式サブタグから成る必要があり、そうでない場合は例外がスローされます。

      ノート: このメソッドは、variantがIETF BCP 47のバリアント・サブタグの構文要件を満たしているかどうかを確認し、値を小文字に正規化します。 ただし、Localeクラスではバリアントに構文上の制限は規定されず、Localeのバリアント値では大文字と小文字が区別されます。 このようなバリアントを設定するには、Locale.of(String, String, String)を使用します。

      パラメータ:
      variant - バリアント
      戻り値:
      このビルダー。
      例外:
      IllformedLocaleException - variantが整形式でない場合
      関連項目:
    • setExtension

      public Locale.Builder setExtension(char key, String value)
      指定されたキーの拡張を設定します。 valueがnullまたは空の文字列の場合は、拡張が削除されます。 それ以外の場合、拡張は整形式でなければならず、そうでない場合は例外がスローされます。

      ノート: キーUNICODE_LOCALE_EXTENSION (「u」)はUnicodeロケール拡張に使用されます。 このキーの値を設定すると、Unicodeロケール・キーとタイプの既存のペアがすべて、この拡張で定義されたものに置き換えられます。

      ノート: キーPRIVATE_USE_EXTENSION (「x」)は私用コードに使用されます。 整形式となるためには、このキーの値は、一般的な2文字から8文字までではなく、1文字から8文字までの英数字のサブタグだけを含む必要があります。

      パラメータ:
      key - 拡張キー
      value - 拡張値
      戻り値:
      このビルダー。
      例外:
      IllformedLocaleException - keyが不正であるかvalueが整形式でない場合
      関連項目:
    • setUnicodeLocaleKeyword

      public Locale.Builder setUnicodeLocaleKeyword(String key, String type)
      指定されたキーのUnicodeロケール・キーワードの型を設定します。 typeがnullの場合は、Unicodeキーワードが削除されます。 それ以外の場合、キーはnull以外で、キーとタイプの両方が整形式でなければならず、そうでない場合は例外がスローされます。

      キーとタイプは小文字に変換されます。

      ノート: setExtension(char, java.lang.String)を使用して「u」拡張を設定すると、すべてのUnicodeロケール・キーワードが、この拡張で定義されたものに置き換えられます。

      パラメータ:
      key - Unicodeロケール・キー
      type - Unicodeロケール・タイプ
      戻り値:
      このビルダー。
      例外:
      IllformedLocaleException - keyまたはtypeが整形式でない場合
      NullPointerException - keyがnullである場合
      関連項目:
    • addUnicodeLocaleAttribute

      public Locale.Builder addUnicodeLocaleAttribute(String attribute)
      Unicodeロケール属性が存在しない場合にそれを追加します。それ以外の場合は何の影響もありません。 属性はnullであってはならず、整形式である必要があります。そうでない場合は例外がスローされます。
      パラメータ:
      attribute - 属性
      戻り値:
      このビルダー。
      例外:
      NullPointerException - attributeがnullである場合
      IllformedLocaleException - attributeが整形式でない場合
      関連項目:
    • removeUnicodeLocaleAttribute

      public Locale.Builder removeUnicodeLocaleAttribute(String attribute)
      Unicodeロケール属性が存在する場合にそれを削除します。それ以外の場合は何の影響もありません。 属性はnullであってはならず、整形式である必要があります。そうでない場合は例外がスローされます。

      削除の属性比較では、大文字と小文字は区別されません。

      パラメータ:
      attribute - 属性
      戻り値:
      このビルダー。
      例外:
      NullPointerException - attributeがnullである場合
      IllformedLocaleException - attributeが整形式でない場合
      関連項目:
    • clear

      public Locale.Builder clear()
      ビルダーを初期の空の状態にリセットします。
      戻り値:
      このビルダー。
    • clearExtensions

      public Locale.Builder clearExtensions()
      拡張を初期の空の状態にリセットします。 言語、スクリプト、地域、およびバリアントは変更されません。
      戻り値:
      このビルダー。
      関連項目:
    • build

      public Locale build()
      このビルダーで設定されたフィールドから取得したLocaleのインスタンスを返します。

      Localeの構築時に、Locale.forLanguageTag(java.lang.String)に示された変換が適用されます。 (レガシー・タグは、setLanguageTag(java.lang.String)で処理されます。)

      戻り値:
      Locale。