/*
 * blanco Framework
 * Copyright (C) 2004-2009 IGA Tosiki
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 */
package blanco.sample.jsf;

import java.io.IOException;

import blanco.sample.jsf.db.query.SimpleBookInsertInvoker;
import blanco.sample.jsf.db.query.SimpleBookSelectIterator;

/**
 * 処理 [BlancoJsfSample1Logic]インタフェース。
 *
 * このインタフェースを継承して [blanco.sample.jsf]パッケージに[BlancoJsfSample1Logic]クラスを作成して実際のバッチ処理を実装してください。<br>
 */
public interface BlancoJsfSample1Logic {
    /**
     * クラスをインスタンス化して処理を実行する際のエントリポイントです。
     *
     * @param argString 処理の入力パラメータ。
     * @param argInteger 処理の入力パラメータ。
     * @param argSimpleBookSelectIterator 処理の入力パラメータ。
     * @param argSimpleBookInsertInvoker 処理の入力パラメータ。
     * @return 処理の実行結果。success, error などの遷移先に関する文字列を返却。
     * @throws IOException 入出力例外が発生した場合。
     * @throws IllegalArgumentException 入力値に不正が見つかった場合。
     */
    String execute(final String argString, final Integer argInteger, final SimpleBookSelectIterator argSimpleBookSelectIterator, final SimpleBookInsertInvoker argSimpleBookInsertInvoker) throws IOException, IllegalArgumentException;
}
