|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.text.Format
public abstract class Format
Format は、日付、メッセージ、数字などのロケールに依存する情報をフォーマットする abstract 基底クラスです。
Format は、ロケールに依存する情報を String にフォーマットするため (format メソッド)、および String を解析してオブジェクトに戻すため (parseObject メソッド) のプログラミングインタフェースを定義するものです。
通常、format の parseObject メソッドは、その format メソッドによってフォーマットされた任意の文字列を解析できる必要があります。ただし、これが可能でない例外的な場合があります。たとえば、format メソッドは間に区切り文字がない 2 つの隣接する整数値を生成する場合があります。この場合、parseObject は各数字がどの数値に属するのかを示すことができません。
Java 2 プラットフォームでは、日付、メッセージ、数字をそれぞれフォーマットするため、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 内のフィールド識別子として使用する定数を定義します。 |
| コンストラクタの概要 | |
|---|---|
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 |
| コンストラクタの詳細 |
|---|
public 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 - 部分的に解析される Stringpos - 上記のインデックスおよびエラーインデックス情報を持つ ParsePosition オブジェクト
Object。エラーの場合は null
NullPointerException - pos が null の場合
public Object parseObject(String source)
throws ParseException
source - 先頭が解析される String
Object
ParseException - 指定された文字列の先頭が解析できない場合public Object clone()
Object 内の cloneCloneable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。