クラス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を構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    Unicodeロケール属性が存在しない場合にそれを追加します。それ以外の場合は何の影響もありません。
    このビルダーで設定されたフィールドから取得したLocaleのインスタンスを返します。
    ビルダーを初期の空の状態にリセットします。
    拡張を初期の空の状態にリセットします。
    Unicodeロケール属性が存在する場合にそれを削除します。それ以外の場合は何の影響もありません。
    setExtension(char key, String value)
    指定されたキーの拡張を設定します。
    setLanguage(String language)
    言語を設定します。
    setLanguageTag(String languageTag)
    Builderを指定されたIETF BCP 47言語タグに適合するようにリセットします。
    setLocale(Locale locale)
    Builderを指定されたlocaleに適合するようにリセットします。
    setRegion(String region)
    地域を設定します。
    setScript(String script)
    スクリプトを設定します。
    指定されたキーのUnicodeロケール・キーワードの型を設定します。
    setVariant(String variant)
    バリアントを設定します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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(String)を参照してください)は、処理される前に正規形に変換されます。 それ以外の場合、言語タグは整形式でなければならず(Localeを参照)、そうでない場合は例外がスローされます(タグの整形式でない部分以降を単に破棄するLocale.forLanguageTagとは異なります)。

      重複するバリアントは、ビルダーによって受け入れられ、含まれます。 ただし、重複した拡張シングルトン・キーとその関連タイプは受け入れられますが無視されます。 同じ動作が、U拡張子内の重複するロケール・キーおよび属性に適用されます。 重複が出現した後の後続のサブタグは無視されないことに注意してください。

      languageTagで実行される変換の完全なリストは、converionsを参照してください。

      パラメータ:
      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, 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.forLanguageTag(String)にリストされている変換が適用されます。 (レガシー・タグは、setLanguageTag(String)で処理されます。)

      戻り値:
      Locale。