S2Swing

コンバータ - S2Swing リファレンス

コンバータの実践的な使用手順については、チュートリアルを参照してください。

コンバータアノテーション一覧

S2Swingで定義済みのコンバータアノテーションは、以下の通りです。 各アノテーションの詳細はAPIドキュメントを参照してください。

アノテーション名 内容
@DateToString Date型とString型の相互変換を行います。
@NumberToString 数値型とString型の相互変換を行います。
@Trim 文字列から先頭と末尾の空白を削除します。

バインディングとの併用

コンバータは通常、バインディングと併用することになります。 バインディングでは、ソースプロパティが変更された場合は正方向、ターゲットプロパティが変更された場合は逆方向に変換が行われます。 変換が成功すれば、その値がバインディング先に代入されます。変換が失敗した場合、代入は行われません。

変換の結果はBindingStateEvent型のイベントとして、BindingStateListenerリスナーに通知されます。 このリスナーに、エラーメッセージの表示処理などを記述します。

カスタムコンバータ

以下の手順にしたがって、独自のコンバータを定義することができます。

コンバータクラスの作成

org.jdesktop.beansbinding.Converterクラスを継承し、コンバータクラスを作成します。

コンバータクラスの指定

変換を行いたいモデルクラスのプロパティに対し、定義済みコンバータアノテーションの代わりに @CustomConverterアノテーションを付加し、独自に作成したコンバータクラス名を引数で指定します。

例えば、ModelクラスのaddressプロパティにMyConverterというコンバータクラスを適用したい場合には、

public class Model {
    @CustomConverter(type = MyConverter.class)
    private String address;

    public String getAddress() { return address; }
    public void setAddress(String address) { this.address = address; }
}

のように指定します。

Copyright © 2008-2009 The Seasar Foundation and the others. All rights reserved.