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

クラスLocale.Builder

  • 含まれているクラス:
    Locale

    public static final class Locale.Builder
    extends Object
    Builderは、setterによって構成される値からLocaleのインスタンスを構築するために使用されます。 Localeコンストラクタとは異なり、Builderは、setterによって構成される値がLocaleクラスで定義されている構文要件を満たしているかどうかを確認します。 Builderによって作成されるLocaleオブジェクトは整形式であり、情報を失うことなく整形式のIETF BCP 47言語タグに変換できます。

    注: Localeクラスではバリアントに構文上の制限は規定されていませんが、BCP 47では、各バリアント・サブタグは5つから8つまでの英数字であるか、1つの数字に3つの英数字が続いたものでなければいけません。 バリアントがこの制限を満たしていない場合、setVariantIllformedLocaleExceptionをスローします。 そのようなバリアントをサポートする必要がある場合は、Localeコンストラクタを使用してください。 ただし、この方法で作成されたLocaleオブジェクトは、BCP 47言語タグに変換されるときにバリアント情報を失う可能性があることに注意してください。

    次の例は、LocaleオブジェクトをBuilderで作成する方法を示しています。

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

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

    導入されたバージョン:
    1.7
    関連項目:
    Locale.forLanguageTag(java.lang.String)
    • コンストラクタの詳細

      • 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が整形式でない場合
        関連項目:
        Locale.forLanguageTag(String)
      • 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コンストラクタを使用してください。

        パラメータ:
        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(String, String)
      • 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である場合
        関連項目:
        setExtension(char, String)
      • addUnicodeLocaleAttribute

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

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

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

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

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

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