/*
 * 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.OutputStream;

import blanco.sample.jsf.util.BlancoJsfDownloadInfo;

/**
 * 処理 [BlancoJsfSample1DownloadLogic]インタフェース。
 *
 * このインタフェースを実装して [blanco.sample.jsf]パッケージに[BlancoJsfSample1DownloadLogicImpl]クラスを作成して実際の処理を実装してください。
 */
public interface BlancoJsfSample1DownloadLogic {
    /**
     * クラスをインスタンス化して処理を実行する際のエントリポイントです。
     *
     * @param argString メインの Managed Bean。
     * @param downloadInfo ダウンロード情報。
     * @param outStream ダウンロードの出力ストリーム。
     * @throws Exception 例外が発生した場合。
     */
    void execute(final String argString, final BlancoJsfDownloadInfo downloadInfo, final OutputStream outStream) throws Exception;
}
