- 含まれているクラス:
- 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つの英数字が続いたものでなければいけません。 バリアントがこの制限を満たしていない場合、setVariant
はIllformedLocaleException
をスローします。 そのようなバリアントをサポートする必要がある場合は、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()
空のBuilderを構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 Locale.Builder
addUnicodeLocaleAttribute(String attribute)
Unicodeロケール属性が存在しない場合にそれを追加します。それ以外の場合は何の影響もありません。Locale
build()
このビルダーに設定されているフィールドから作成されたLocale
のインスタンスを返します。Locale.Builder
clear()
ビルダーを初期の空の状態にリセットします。Locale.Builder
clearExtensions()
拡張を初期の空の状態にリセットします。Locale.Builder
removeUnicodeLocaleAttribute(String attribute)
Unicodeロケール属性が存在する場合にそれを削除します。それ以外の場合は何の影響もありません。Locale.Builder
setExtension(char key, String value)
指定されたキーの拡張を設定します。Locale.Builder
setLanguage(String language)
言語を設定します。Locale.Builder
setLanguageTag(String languageTag)
Builderを指定されたIETF BCP 47言語タグに適合するようにリセットします。Locale.Builder
setLocale(Locale locale)
Builder
を指定されたlocale
に適合するようにリセットします。Locale.Builder
setRegion(String region)
地域を設定します。Locale.Builder
setScript(String script)
スクリプトを設定します。Locale.Builder
setUnicodeLocaleKeyword(String key, String type)
指定されたキーのUnicodeロケール・キーワードの型を設定します。Locale.Builder
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
が整形式でない場合- 関連項目:
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)
-
build
public Locale build()このビルダーに設定されているフィールドから作成されたLocale
のインスタンスを返します。Localeの構築時に、
Locale.forLanguageTag(java.lang.String)
に示された変換が適用されます。 (適用外のタグはsetLanguageTag(java.lang.String)
で処理されます。)- 戻り値:
- Locale。
-