- 含まれているクラス:
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。
-