jp.finaluna.api.dao
インタフェース SqlPreCheck


@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;
     }
 
 

バージョン:
$Revision: 15138 $ $Date: 2009-01-17 02:38:48 +0900 $
作成者:
NTTデータ

メソッドの概要
 void check(ProcessContext context, DTO dto)
          SQL実行前チェック。
 

メソッドの詳細

check

void check(ProcessContext context,
           DTO dto)
           throws FinalunaApplException
SQL実行前チェック。

パラメータ:
context - コンテキスト
dto - バインド値のDTO
例外:
FinalunaApplException - 業務ロジックがスローする例外(業務例外)