- 含まれているクラス:
Locale
Builderは、setterによって構成される値からLocaleのインスタンスを構築するために使用されます。 LocaleコンストラクタまたはLocale.of()ファクトリ・メソッドとは異なり、Builderは、セッターで構成された値がLocaleクラスで定義されている構文要件を満たしているかどうかをチェックします。 Builderから取得したLocaleオブジェクトは整形式であり、情報を失うことなく整形式のIETF BCP 47言語タグに変換できます。 - 実装上のノート:
Localeクラスはバリアントに対する構文上の制限を提供しませんが、BCP 47では各バリアント・サブタグが5から8個の英数字であるか、1つの数字の後に3個の英数字が続く必要があります。 バリアントがこの制限を満たしていない場合、setVariantはIllformedLocaleExceptionをスローします。 このようなバリアントをサポートする必要がある場合は、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
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明addUnicodeLocaleAttribute(String attribute) Unicodeロケール属性が存在しない場合にそれを追加します。それ以外の場合は何の影響もありません。build()このビルダーで設定されたフィールドから取得したLocaleのインスタンスを返します。clear()ビルダーを初期の空の状態にリセットします。拡張を初期の空の状態にリセットします。removeUnicodeLocaleAttribute(String attribute) Unicodeロケール属性が存在する場合にそれを削除します。それ以外の場合は何の影響もありません。setExtension(char key, String value) 指定されたキーの拡張を設定します。setLanguage(String language) 言語を設定します。setLanguageTag(String languageTag) Builderを指定されたIETF BCP 47言語タグに適合するようにリセットします。Builderを指定されたlocaleに適合するようにリセットします。地域を設定します。スクリプトを設定します。setUnicodeLocaleKeyword(String key, String type) 指定されたキーのUnicodeロケール・キーワードの型を設定します。setVariant(String variant) バリアントを設定します。
-
コンストラクタの詳細
-
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。
-