|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
@Rcsid(value="$Revision: 15138 $ $Date: 2009-01-17 02:38:48 +0900 $") public interface SqlPreCheck
DAO
の更新処理SQL実行前チェック。
DAO
の更新メソッドにて、処理を行う前に バインド値(DTO
)の値のチェックを行う。
このインタフェースのcheck
メソッドを実装し、設定ファイルのDAO
に インジェクションすることで使用可能となる。
実装方法例:
// DATA2項目のチェック長
private int data2Length = 0;
// SQL実行前チェック。
public void check(ProcessContext context, DTO dto) throws FinalunaApplException {
RequestDTO reqDto = (RequestDTO) dto;
// DATA1項目の必須チェック
StringType data1 = (StringType) reqDto.get("DATA1");
if ((data1 == null) || (data1.isNull())) {
throw new CheckException(new IllegalArgumentException(), "SampleSqlCheck.01", "DATA1 is null");
}
// DATA2項目の長さチェック
StringType data2 = (StringType) reqDto.get("DATA2");
if (data2.length() < this.data2Length) {
throw new CheckException(
new IllegalArgumentException(), "SampleSqlCheck.02", "Data2 is illegal to length");
}
}
// DATA2項目のチェック長を設定する。
public void setData2Length(int data2Length) {
this.data2Length = data2Length;
}
メソッドの概要 | |
---|---|
void |
check(ProcessContext context,
DTO dto)
SQL実行前チェック。 |
メソッドの詳細 |
---|
void check(ProcessContext context, DTO dto) throws FinalunaApplException
context
- コンテキストdto
- バインド値のDTO
FinalunaApplException
- 業務ロジックがスローする例外(業務例外)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |