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     */
016    package org.opengion.hayabusa.report;
017    
018    import org.opengion.hayabusa.db.DBTableModel;
019    import org.opengion.hayabusa.resource.ResourceManager;
020    
021    import 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     */
032    public 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 繰り返し部の終?に表示する key
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    }