    001/*
    002 * Copyright (c) 2009 The openGion Project.
    003 *
    004 * Licensed under the Apache License, Version 2.0 (the "License");
    005 * you may not use this file except in compliance with the License.
    006 * You may obtain a copy of the License at
    007 *
    008 *     http://www.apache.org/licenses/LICENSE-2.0
    009 *
    010 * Unless required by applicable law or agreed to in writing, software
    011 * distributed under the License is distributed on an "AS IS" BASIS,
    012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
    013 * either express or implied. See the License for the specific language
    014 * governing permissions and limitations under the License.
    015 */
    016package org.opengion.hayabusa.report;
    017
    018import org.opengion.hayabusa.db.DBTableModel;
    019import org.opengion.hayabusa.resource.ResourceManager;
    020
    021import java.io.File;
    022
    023/**
    024 * DBTableModel インターフェース のオブジェクトを雛型ファイルに適用して レポートを作成する為の，共通インターフェースです。
    025 *
    026 * @og.group 帳票システム
    027 *
    028 * @version  4.0
    029 * @author   Kazuhiko Hasegawa
    030 * @since    JDK5.0,
    031 */
    032public interface DBTableReport {
    033
    034        /**
    035         * DBTableModel から 各形式のデータを作成して,PrintWriter に書き出します。
    036         *
    037         */
    038        void writeReport() ;
    039
    040        /**
    041         * 雛型ファイル名をセットします。
    042         *
    043         * @og.rev 3.6.0.0 (2004/09/17) メソッド名の変更。setInputFile ⇒ setTemplateFile
    044         * @og.rev 3.8.0.0 (2005/06/07) 引数を String  ⇒ File に変更
    045         *
    046         * @param   inFile 雛型ファイル名
    047         */
    048        void setTemplateFile( File inFile ) ;
    049
    050        /**
    051         * 最初のページのみに使用する雛型ファイル名をセットします。
    052         *
    053         * @og.rev 3.6.0.0 (2004/09/17) 新規追加
    054         * @og.rev 3.8.0.0 (2005/06/07) 引数を String  ⇒ File に変更
    055         *
    056         * @param   inFile 最初のページの雛型ファイル名
    057         */
    058        void setFirstTemplateFile( File inFile ) ;
    059
    060        /**
    061         * 変換後ファイルを出力するディレクトリ名をセットします。
    062         *
    063         * @param   outDir 出力ディレクトリ名
    064         */
    065        void setOutputDir( String outDir ) ;
    066
    067        /**
    068         * 変換後ファイルキーをセットします。
    069         * キーとは、拡張子の無い状態までのファイル名です。
    070         * 変換後ファイルは、複数発生します。
    071         * 実際に出力されるファイル名は、outFile + "_連番.html" となります。
    072         *
    073         * @param   outFile 出力ファイル名の共通部
    074         */
    075        void setOutputFileKey( String outFile ) ;
    076
    077        /**
    078         * 帳票起動された要求番号をセットします。
    079         *
    080         * @og.rev 3.8.5.1 (2006/04/28) 新規追加
    081         *
    082         * @param   ykno 要求番号
    083         */
    084        void setYkno( String ykno ) ;
    085
    086        /**
    087         * DBTableModel をセットします。
    088         *
    089         * @param       table   DBTableModelオブジェクト
    090         */
    091        void setDBTableModel( DBTableModel table ) ;
    092
    093        /**
    094         * 固定部の key 部分を指定します。
    095         * カンマで複数指定できます。
    096         *
    097         * @param   headerKeys 固定部のキー配列(可変長引数)
    098         */
    099        void setHeaderKeys( String... headerKeys ) ;
    100
    101        /**
    102         * 固定部のkey に対応する値を指定します。
    103         * カンマで複数指定で、リクエスト情報でも設定できます。
    104         *
    105         * @param   headerVals 固定部の値配列(可変長引数)
    106         */
    107        void setHeaderVals( String... headerVals ) ;
    108
    109        /**
    110         * 繰り返し部の終了後に表示する key 部分を指定します。
    111         * カンマで複数指定できます。
    112         *
    113         * @param   footerKeys 繰り返し部の終了後に表示するキー配列(可変長引数)
    114         */
    115        void setFooterKeys( String... footerKeys ) ;
    116
    117        /**
    118         * 固定部のkey に対応する値を指定します。
    119         * カンマで複数指定で、リクエスト情報でも設定できます。
    120         *
    121         * @param   footerVals 繰り返し部の終了後に表示する値配列(可変長引数)
    122         */
    123        void setFooterVals( String... footerVals ) ;
    124
    125        /**
    126         * ボディー部(繰り返し部)がなくなったときに、それ以降を表示するかどうかを指定します。
    127         * true では、それ以降を出力しません。
    128         * デフォルト "true" (なくなった時点で、出力しない。)です。
    129         *
    130         * @param   pageEndCut 繰り返し部の終了後に継続処理するかどうか (true:処理しない/false:処理する)
    131         */
    132        void setPageEndCut( boolean pageEndCut ) ;
    133
    134        /**
    135         * リソースマネージャーをセットします。
    136         * これは、言語(ロケール)に応じた DBColumn をあらかじめ設定しておく為に
    137         * 必要です。
    138         * リソースマネージャーが設定されていない、または、所定のキーの DBColumn が
    139         * リソースに存在しない場合は、内部で DBColumn オブジェクトを作成します。
    140         *
    141         * @og.rev 4.0.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更
    142         *
    143         * @param  resource リソースマネージャー
    144         */
    145        void setResourceManager( final ResourceManager resource );
    146
    147        /**
    148         * 帳票ＩＤ をセットします。
    149         * この帳票ＩＤを利用して、画像ファイル等のセーブディレクトリを求めます。
    150         *
    151         * @og.rev 3.6.1.0 (2005/01/05) 新規作成
    152         *
    153         * @param   listId 帳票ＩＤ
    154         */
    155        void setListId( String listId ) ;
    156}