package jp.terasoluna.batch.functionsample.b003;


/**
 * ジョブ管理テーブルへの登録処理を行うインタフェース
 * 
 */
public interface BatchEntryService {

    /**
     * 終了コード：正常終了
     */
    int BATCH_ENTRY_END_CODE_NORMAL = 0;

    /**
     * 終了コード：異常終了
     */
    int BATCH_ENTRY_END_CODE_ABNORMAL = 255;

    /**
     * ジョブ管理テーブルに１行追加する<br>
     * <br>
     * 引数からパラメータを取得し、DB登録用クラスにセットします。<br>
     * 引数として渡されるBatchEntryParamのフィールドが、テーブルのカラムに対応しています。<br>
     * DB登録用クラスをDAOへ渡し、ジョブ管理テーブルへの登録処理を行います。<br>
     * 返却値BatchEntryResultを生成し、ジョブシステムコードと終了コードをセットして返却します。<br>
     * <br>
     * 終了コードはインターフェースが保持しているint型の定数で、以下の２つがあります。<br>
     * 処理が正常に終了した場合：BATCH_ENTRY_END_CODE_NOMAL<br>
     * 処理で異常が発生した場合：BATCH_ENTRY_END_CODE_ABNOMAL<br>
     * 
     * @param BatchEntryParam 登録パラメータ
     * @return BatchEntryResult 処理結果
     */
    BatchEntryResult writeJobTable(BatchEntryParam param);

}
