|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.text.Format
public abstract class Format
Format
は、日付、メッセージ、数字などのロケールに依存する情報をフォーマットする abstract 基底クラスです。
Format
は、ロケールに依存する情報を String
にフォーマットするため (format
メソッド)、および String
を解析してオブジェクトに戻すため (parseObject
メソッド) のプログラミングインタフェースを定義するものです。
通常、format の parseObject
メソッドは、その format
メソッドによってフォーマットされた任意の文字列を解析できる必要があります。ただし、これが可能でない例外的な場合があります。たとえば、format
メソッドは間に区切り文字がない 2 つの隣接する整数値を生成する場合があります。 この場合、parseObject
は各数字がどの数値に属するのかを示すことができません。
Java プラットフォームでは、日付、メッセージ、数字をそれぞれフォーマットするため、3 つの特殊なサブクラス DateFormat
、MessageFormat
、NumberFormat
が Format
に用意されています。
具象サブクラスには、次の 3 つのメソッドを実装しなければいけません。
format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
formatToCharacterIterator(Object obj)
parseObject (String source, ParsePosition pos)
MessageFormat
などによって使用されます。サブクラスは多くの場合、特定の入力タイプのための追加の format
メソッドや特定の結果タイプのための parse
メソッドも提供します。ParsePosition
引数をとらない parse
は、要求されたフォーマットのテキストが入力テキストの先頭にない場合、ParseException
をスローします。
ほとんどのサブクラスには、さらに次のファクトリメソッドが実装されます。
getInstance
は、現在のロケールに適した便利なフォーマットオブジェクトを取得するためのものです。
getInstance(Locale)
は、指定されたロケールに適した便利なフォーマットオブジェクトを取得するためのものです。
getXxxxInstance
メソッドを実装する場合もあります。たとえば、NumberFormat
クラスには、特殊な数字フォーマッタを得るための getPercentInstance
および getCurrencyInstance
メソッドがあります。
ロケール用のオブジェクトをプログラマが生成できるようにする場合 (getInstance(Locale)
など) は、Format
のサブクラスにさらに次のクラスメソッドの実装が必要です。
public static Locale[] getAvailableLocales()
最後に、サブクラスには、フォーマットされたさまざまな出力フィールドを識別するために、1 組の定数を定義することができます。これらの定数は、FieldPosition オブジェクトを作成するために使われます。 このオブジェクトは、フォーマットされた結果でのフィールドの情報とその位置を識別します。これらの定数の名前は、item_FIELD
でなければいけません。 item
はそのフィールドを示します。これらの定数の例については、DateFormat
の ERA_FIELD
などを参照してください。
フォーマットは同期化されません。スレッドごとに別のフォーマットインスタンスを作成することをお勧めします。複数のスレッドがフォーマットに並行してアクセスする場合は、外部的に同期化する必要があります。
ParsePosition
,
FieldPosition
,
NumberFormat
,
DateFormat
,
MessageFormat
,
直列化された形式入れ子のクラスの概要 | |
---|---|
static class |
Format.Field
Format.formatToCharacterIterator から返された AttributedCharacterIterator 内の属性キー、および FieldPosition 内のフィールド識別子として使用する定数を定義します。 |
コンストラクタの概要 | |
---|---|
protected |
Format()
唯一のコンストラクタです。 |
メソッドの概要 | |
---|---|
Object |
clone()
このオブジェクトのコピーを作成して、返します。 |
String |
format(Object obj)
オブジェクトをフォーマットして文字列を作成します。 |
abstract StringBuffer |
format(Object obj,
StringBuffer toAppendTo,
FieldPosition pos)
オブジェクトをフォーマットし、指定された文字列バッファーに結果のテキストを追加します。 |
AttributedCharacterIterator |
formatToCharacterIterator(Object obj)
Object をフォーマットし、 AttributedCharacterIterator を生成します。 |
Object |
parseObject(String source)
指定された文字列の先頭からテキストを解析してオブジェクトを生成します。 |
abstract Object |
parseObject(String source,
ParsePosition pos)
文字列からテキストを解析してオブジェクトを生成します。 |
クラス java.lang.Object から継承されたメソッド |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
protected Format()
メソッドの詳細 |
---|
public final String format(Object obj)
format
(obj, new StringBuffer(), new FieldPosition(0)).toString();
obj
- フォーマットするオブジェクト
IllegalArgumentException
- 指定されたオブジェクトを Format でフォーマットできない場合public abstract StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
pos
引数がフォーマットによって使用されるフィールドを識別する場合は、その引数のインデックスは最初に検出されたフィールドの開始と終了に設定されます。
obj
- フォーマットするオブジェクトtoAppendTo
- テキストを追加する位置pos
- フォーマットされたテキスト内のフィールドを識別する FieldPosition
toAppendTo
として渡される文字列バッファー。フォーマットされたテキストが追加される
NullPointerException
- toAppendTo
または pos
が null の場合
IllegalArgumentException
- 指定されたオブジェクトを Format でフォーマットできない場合public AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIterator
を生成します。返された AttributedCharacterIterator
を使用すると、結果の String を構築できるとともに、結果の String についての情報を判定できます。
AttributedCharacterIterator の各属性キーは Field
型です。AttributedCharacterIterator
内の各属性に対する正当な値の定義は、それぞれの Format
実装に依存しますが、通常、属性キーは属性値としても使用されます。
デフォルトの実装では、属性なしの AttributedCharacterIterator
が生成されます。フィールドをサポートするサブクラスはこれをオーバーライドし、有効な属性を持つ AttributedCharacterIterator
を生成します。
obj
- フォーマットするオブジェクト
NullPointerException
- obj が null の場合
IllegalArgumentException
- 指定されたオブジェクトを Format でフォーマットできない場合public abstract Object parseObject(String source, ParsePosition pos)
メソッドは pos
によって指定されたインデックスを開始位置としてテキストの解析を試みます。解析が完了すると、pos
のインデックスは、使用された最後の文字 (解析では、文字列の最後までのすべての文字を使用するとは限らない) のあとのインデックスに更新され、解析されたオブジェクトが返されます。更新された pos
は、このメソッドの次の呼び出しの開始点を示すのに使用できます。エラーが発生した場合は、pos
のインデックスは変更されず、エラーが発生した文字のインデックスに pos
のエラーインデックスが設定され、null が返されます。
source
- 部分的に解析される String
pos
- 上記のインデックスおよびエラーインデックス情報を持つ ParsePosition
オブジェクト
Object
エラーの場合は null を返す
NullPointerException
- pos
が null の場合public Object parseObject(String source) throws ParseException
source
- 先頭が解析される String
Object
ParseException
- 指定された文字列の先頭が解析できない場合public Object clone()
Object
内の clone
Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。