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    }