jgoodies.validation

jgoodies.validationフレームワークにて提供されている主なクラスおよびjgoodies.validationフレームワークの簡単な利用れいをメモ。

  • Severityクラス

enum型を継承し、状態を示すERROR,WARNING,INFO,OKを要素として持つ。

  • ValidationMessageインタフェース

バリーデーション結果をもつクラスのインタフェース。
本クラスを実装しているクラスとしてSimpleValidationMessage と PropertyValidationMessageが用意されている。

  • ValidationResultクラス

バリデーションの結果としてValidationMessageオブジェクトのリストを保持するクラス。

  • Validatableインタフェース

下記メソッドを持ち、自己バリーデーションを行うクラスが実装する。

ValidationResult validate()

  • Validatorインタフェース

下記メソッドを持ち、他オブジェクトのバリデーションを行うクラスが実装する。

ValidationResult validate(Object obj)

  • ValidationResultModelインタフェース

ValidationResultを保持するクラスが実装するインタフェース。
本クラスを実装しているクラスとしてDefaultValidationResultModelと ValidationResultModelContainerが用意されている。


簡単な利用例

  1. GUI上でユーザが入力完了した際のアクションイベントなどで、バリデーションチェックし該当した際に、ValidationResultのaddError関数やaddWaring関数を使用して、バリデーション結果(文字列)をValidationResultオブジェクトに設定する。(SimpleValidationMessageオブジェクトとして登録される。)
  2. ValidationResultModelのsetResult関数で、ValidationResultオブジェクトを設定する。
  3. ValidationResultModelはPropertyChangeListenerをリスナー登録できるので、登録しておけば、ValidationResultが設定されたときに、判定結果に伴い、処理を行うことができる。

なお、ValidationResultModelのhasErros関数やhasMessages関数で、ValidationResultModelオブジェクトがエラー結果を持っているか、メッセージを持っているかを判定できる。

またValidationResultViewFactoryクラスのcreateReportList関数でValidationResultModelオブジェクトを設定しておくと、createReportList関数の戻り値で取得できるJComponent部品に、結果が表示される。
他にもValidationResultViewFactoryはJLabelやJTextAreaとして結果を取得できるメソッドが用意されている。

参考:http://jnb.ociweb.com/jnb/jnbJul2007.html