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()
は、すべてのフィールドをデフォルト値にリセットします。
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)
バリアントを設定します。
|
public Locale.Builder setLocale(Locale locale)
Builder
を指定されたlocale
に適合するようにリセットします。既存の状態は破棄されます。
ロケールのフィールドはすべて整形式でなければいけません。Locale
を参照してください。
ロケールに整形式でないフィールドが含まれていると、互換性のために許容されている次の3つの場合を除き、IllformedLocaleException
がスローされます。
locale
- ロケールIllformedLocaleException
- locale
に整形式でないフィールドがある場合。NullPointerException
- locale
がnullである場合。public Locale.Builder setLanguageTag(String languageTag)
clear()
と同様にBuilderがリセットされます。適用外のタグ(Locale.forLanguageTag(java.lang.String)
を参照)は、その正規の形式に変換されてから処理されます。それ以外の場合、言語タグは整形式でなければならず(Locale
を参照)、そうでない場合は例外がスローされます(タグの整形式でない部分以降を単に破棄するLocale.forLanguageTag
とは異なります)。languageTag
- 言語タグIllformedLocaleException
- languageTag
が整形式でない場合Locale.forLanguageTag(String)
public Locale.Builder setLanguage(String language)
language
が空の文字列またはnullの場合は、このBuilder
の言語が削除されます。それ以外の場合、言語は整形式でなければならず、そうでない場合は例外がスローされます。
通常、言語の値は、ISO639で定義されている2文字または3文字の言語コードです。
language
- 言語IllformedLocaleException
- language
が整形式でない場合public Locale.Builder setScript(String script)
script
がnullまたは空の文字列の場合は、このBuilder
のスクリプトが削除されます。それ以外の場合、スクリプトは整形式でなければならず、そうでない場合は例外がスローされます。
通常、スクリプトの値は、ISO 15924で定義されている4文字のスクリプト・コードです。
script
- スクリプトIllformedLocaleException
- script
が整形式でない場合public Locale.Builder setRegion(String region)
Builder
の地域が削除されます。それ以外の場合、地域は整形式でなければならず、そうでない場合は例外がスローされます。
通常、地域の値は、2文字のISO 3166コードか、3桁のUN M.49地域コードです。
Builder
によって作成されるLocale
の国の値は、常に大文字に正規化されます。
region
- 地域IllformedLocaleException
- region
が整形式でない場合public Locale.Builder setVariant(String variant)
Builder
のバリアントが削除されます。それ以外の場合、1つ以上の整形式サブタグから成る必要があり、そうでない場合は例外がスローされます。
注: このメソッドは、variant
がIETF BCP 47のバリアント・サブタグの構文要件を満たしているかどうかを確認し、値を小文字に正規化します。ただし、Locale
クラスではバリアントに構文上の制限は規定されず、Locale
のバリアント値では大文字と小文字が区別されます。そのようなバリアントを設定するには、Localeコンストラクタを使用してください。
variant
- バリアントIllformedLocaleException
- variant
が整形式でない場合public Locale.Builder setExtension(char key, String value)
注: キーUNICODE_LOCALE_EXTENSION
(「u」)はUnicodeロケール拡張に使用されます。このキーの値を設定すると、Unicodeロケール・キーとタイプの既存のペアがすべて、この拡張で定義されたものに置き換えられます。
注: キーPRIVATE_USE_EXTENSION
(「x」)は私用コードに使用されます。整形式となるためには、このキーの値は、一般的な2文字から8文字までではなく、1文字から8文字までの英数字のサブタグだけを含む必要があります。
key
- 拡張キーvalue
- 拡張値IllformedLocaleException
- key
が不正であるかvalue
が整形式でない場合setUnicodeLocaleKeyword(String, String)
public Locale.Builder setUnicodeLocaleKeyword(String key, String type)
キーとタイプは小文字に変換されます。
注: setExtension(char, java.lang.String)
を使用して「u」拡張を設定すると、すべてのUnicodeロケール・キーワードが、この拡張で定義されたものに置き換えられます。
key
- Unicodeロケール・キーtype
- Unicodeロケール・タイプIllformedLocaleException
- key
またはtype
が整形式でない場合NullPointerException
- key
がnullである場合setExtension(char, String)
public Locale.Builder addUnicodeLocaleAttribute(String attribute)
attribute
- 属性NullPointerException
- attribute
がnullである場合IllformedLocaleException
- attribute
が整形式でない場合setExtension(char, String)
public Locale.Builder removeUnicodeLocaleAttribute(String attribute)
削除のための属性の比較では、大文字と小文字は区別されません。
attribute
- 属性NullPointerException
- attribute
がnullである場合IllformedLocaleException
- attribute
が整形式でない場合setExtension(char, String)
public Locale.Builder clear()
public Locale.Builder clearExtensions()
setExtension(char, String)
public Locale build()
Locale
のインスタンスを返します。
Localeの構築時に、Locale.forLanguageTag(java.lang.String)
に示された変換が適用されます。(適用外のタグはsetLanguageTag(java.lang.String)
で処理されます。)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.