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)
コンストラクタと説明 |
---|
Locale.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()
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, 2013, Oracle and/or its affiliates. All rights reserved.