openGionopenGion
5.6.5.0

org.opengion.hayabusa.report
クラス AbstractDBTableReport

java.lang.Object
  上位を拡張 org.opengion.hayabusa.report.AbstractDBTableReport
すべての実装されたインタフェース:
DBTableReport
直系の既知のサブクラス:
DBTableReport_Excel, DBTableReport_HTML

public abstract class AbstractDBTableReport
extends java.lang.Object
implements DBTableReport

DBTableReport インターフェース のデフォルト実装クラスです。 writeReport() を、オーバーライドすれば,各種出力フォーマットに合わせた サブクラスを実現する事が可能です。

機能階層
帳票システム
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
protected  boolean dataOver
           
protected  java.io.File firstTemplateFile
           
protected  java.lang.String[] footerKeys
           
protected  java.lang.String[] footerVals
           
protected  java.lang.String[] headerKeys
           
protected  java.lang.String[] headerVals
           
protected  java.lang.String htmlDir
           
protected  java.lang.String htmlFileKey
           
protected  int lineCopyCnt
           
protected  java.lang.String listId
           
protected  int maxPageCount
           
protected  int maxRowCount
           
protected  int pageCount
           
protected  boolean pageEndCut
           
protected  int pageRowCount
           
protected  java.io.BufferedReader reader
           
protected  ResourceManager resource
           
protected  boolean rowOver
           
protected  DBTableModel table
           
protected  java.io.File templateFile
           
protected  java.io.PrintWriter writer
           
protected  java.lang.String ykno
           
 
コンストラクタの概要
AbstractDBTableReport()
           
 
メソッドの概要
protected abstract  java.lang.String changeData(java.lang.String inLine)
          入力文字列 を加工して、出力します。
protected  int getRealRow(int row)
          雛型帳票に対する、実際の行番号を求めます。
protected  java.lang.String getValue(java.lang.String key)
          指定のキーについて、その値を取得します。
protected  void initReader()
          BufferedReader を、初期化します。
protected  void initWriter()
          PrintWriter を、初期化します。
protected abstract  void println(java.lang.String line)
          入力文字列 を読み取って、出力します。
protected abstract  java.lang.String readLine()
          入力文字列 を読み取って、出力します。
 void setDBTableModel(DBTableModel table)
          DBTableModel をセットします。
 void setFirstTemplateFile(java.io.File inFile)
          最初のページのみに使用する雛型ファイル名をセットします。
 void setFooterKeys(java.lang.String[] fKeys)
          繰り返し部の終了後に表示する key 部分を指定します。
 void setFooterVals(java.lang.String[] fVals)
          固定部のkey に対応する値を指定します。
protected  void setHeaderFooter()
          ヘッダーフッターのレンデラーデータを設定します。
 void setHeaderKeys(java.lang.String[] hKeys)
          固定部の key 部分を指定します。
 void setHeaderVals(java.lang.String[] hVals)
          固定部のkey に対応する値を指定します。
 void setListId(java.lang.String listId)
          帳票ID をセットします。
 void setOutputDir(java.lang.String outDir)
          変換後ファイルを出力するディレクトリ名をセットします。
 void setOutputFileKey(java.lang.String outFile)
          変換後ファイルキーをセットします。
 void setPageEndCut(boolean pageEndCut)
          ボディー部(繰り返し部)がなくなったときに、それ以降を表示するかどうかを指定します。
 void setResourceManager(ResourceManager resource)
          リソースマネージャーをセットします。
 void setTemplateFile(java.io.File inFile)
          雛型ファイル名をセットします。
 void setYkno(java.lang.String ykno)
          帳票起動された要求番号をセットします。
 void writeReport()
          DBTableModel から データを作成して,PrintWriter に書き出します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

headerKeys

protected java.lang.String[] headerKeys

headerVals

protected java.lang.String[] headerVals

footerKeys

protected java.lang.String[] footerKeys

footerVals

protected java.lang.String[] footerVals

pageEndCut

protected boolean pageEndCut

maxRowCount

protected int maxRowCount

pageRowCount

protected int pageRowCount

lineCopyCnt

protected int lineCopyCnt

resource

protected ResourceManager resource

writer

protected java.io.PrintWriter writer

reader

protected java.io.BufferedReader reader

templateFile

protected java.io.File templateFile

firstTemplateFile

protected java.io.File firstTemplateFile

htmlDir

protected java.lang.String htmlDir

htmlFileKey

protected java.lang.String htmlFileKey

ykno

protected java.lang.String ykno

table

protected DBTableModel table

pageCount

protected int pageCount

maxPageCount

protected int maxPageCount

rowOver

protected boolean rowOver

dataOver

protected boolean dataOver

listId

protected java.lang.String listId
コンストラクタの詳細

AbstractDBTableReport

public AbstractDBTableReport()
メソッドの詳細

writeReport

public void writeReport()
DBTableModel から データを作成して,PrintWriter に書き出します。

定義:
インタフェース DBTableReport 内の writeReport

readLine

protected abstract java.lang.String readLine()
入力文字列 を読み取って、出力します。 tr タグを目印に、1行(trタグ間)ずつ取り出します。 読み取りを終了する場合は、null を返します。 各サブクラスで実装してください。

戻り値:
出力文字列

changeData

protected abstract java.lang.String changeData(java.lang.String inLine)
入力文字列 を加工して、出力します。 {@XXXX} をテーブルモデルより読み取り、値をセットします。 各サブクラスで実装してください。

パラメータ:
inLine - 入力文字列
戻り値:
出力文字列

println

protected abstract void println(java.lang.String line)
入力文字列 を読み取って、出力します。 各サブクラスで実装してください。

パラメータ:
line - 出力文字列

setResourceManager

public void setResourceManager(ResourceManager resource)
リソースマネージャーをセットします。 これは、言語(ロケール)に応じた DBColumn をあらかじめ設定しておく為に 必要です。 リソースマネージャーが設定されていない、または、所定のキーの DBColumn が リソースに存在しない場合は、内部で DBColumn オブジェクトを作成します。

定義:
インタフェース DBTableReport 内の setResourceManager
パラメータ:
resource - リソースマネージャー
変更履歴:
4.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更

setListId

public void setListId(java.lang.String listId)
帳票ID をセットします。 この帳票IDを利用して、画像ファイル等のセーブディレクトリを求めます。

定義:
インタフェース DBTableReport 内の setListId
パラメータ:
listId - 帳票ID
変更履歴:
3.6.1.0 (2005/01/05) 新規作成

setDBTableModel

public void setDBTableModel(DBTableModel table)
DBTableModel をセットします。

定義:
インタフェース DBTableReport 内の setDBTableModel
パラメータ:
table - DBTableModelオブジェクト
変更履歴:
3.7.0.1 (2005/01/31) ページブレイク時の処理

setTemplateFile

public void setTemplateFile(java.io.File inFile)
雛型ファイル名をセットします。

定義:
インタフェース DBTableReport 内の setTemplateFile
パラメータ:
inFile - 雛型ファイル名
変更履歴:
3.6.0.0 (2004/09/17) メソッド名の変更。setInputFile ⇒ setTemplateFile
3.8.0.0 (2005/06/07) 引数を String ⇒ File に変更

setFirstTemplateFile

public void setFirstTemplateFile(java.io.File inFile)
最初のページのみに使用する雛型ファイル名をセットします。

定義:
インタフェース DBTableReport 内の setFirstTemplateFile
パラメータ:
inFile - 最初のページの雛型ファイル名
変更履歴:
3.6.0.0 (2004/09/17) 新規追加
3.8.0.0 (2005/06/07) 引数を String ⇒ File に変更

setOutputDir

public void setOutputDir(java.lang.String outDir)
変換後ファイルを出力するディレクトリ名をセットします。 ディレクトリが存在しない場合は、新規に作成します。

定義:
インタフェース DBTableReport 内の setOutputDir
パラメータ:
outDir - 出力ディレクトリ
変更履歴:
3.7.1.1 (2005/05/23) フォルダがない場合は、複数階層分のフォルダを自動で作成します。

setOutputFileKey

public void setOutputFileKey(java.lang.String outFile)
変換後ファイルキーをセットします。 キーとは、拡張子の無い状態までのファイル名です。 変換後ファイルは、複数発生します。 実際に出力されるファイル名は、outFile + "_連番.html" となります。

定義:
インタフェース DBTableReport 内の setOutputFileKey
パラメータ:
outFile - 出力ファイル名の共通部

setYkno

public void setYkno(java.lang.String ykno)
帳票起動された要求番号をセットします。

定義:
インタフェース DBTableReport 内の setYkno
パラメータ:
ykno - 要求番号
変更履歴:
3.8.5.1 (2006/04/28) 新規追加

setHeaderKeys

public void setHeaderKeys(java.lang.String[] hKeys)
固定部の key 部分を指定します。 カンマで複数指定できます。

定義:
インタフェース DBTableReport 内の setHeaderKeys
パラメータ:
hKeys - 固定部のキー
変更履歴:
3.5.6.0 (2004/06/18) 配列の設定は、arraycopy して取り込みます。

setHeaderVals

public void setHeaderVals(java.lang.String[] hVals)
固定部のkey に対応する値を指定します。 カンマで複数指定で、リクエスト情報でも設定できます。

定義:
インタフェース DBTableReport 内の setHeaderVals
パラメータ:
hVals - 固定部の値
変更履歴:
3.5.6.0 (2004/06/18) 配列の設定は、arraycopy して取り込みます。

getRealRow

protected int getRealRow(int row)
雛型帳票に対する、実際の行番号を求めます。 これは、雛型の複数回読みをサポートする為、実際の雛型のrow番号と DBTableModel から取得すべき row番号が、異なる為です。 オーバーフロー時は、Exception を避ける為、-1 を返します。

パラメータ:
row - 固定部の値(オーバーフロー時は、-1 )
戻り値:
実際の行番号
変更履歴:
3.5.6.0 (2004/06/18) noDataflag の追加。
3.5.6.3 (2004/07/12) noDataflag の廃止。
3.6.0.4 (2004/10/14) FIRST 雛型時の対応追加。
3.7.0.1 (2005/01/31) ページブレイク処理に対応。
3.8.1.2 (2005/12/19) PAGE_END_CUT用にdataOverフラグを追加

getValue

protected java.lang.String getValue(java.lang.String key)
指定のキーについて、その値を取得します。 値の取得方法として、   {@xxx_no} 形式の場合は、DBTableModel から、   {@XXXX} 形式で、かつ、rowOver が false の場合は、ヘッダーから、   {@XXXX} 形式で、かつ、rowOver が true の場合は、フッターから、 取得します。 rowOver は、{@xxx_no} 形式の番号欄(no)が、DBTableModel のデータ件数よりも 大きい場合に、セットされます。

パラメータ:
key - 指定のキー
戻り値:
指定のキーの値
変更履歴:
3.5.6.0 (2004/06/18) noDataflag の追加。
3.5.6.3 (2004/07/12) noDataflag の廃止。
3.6.0.0 (2004/09/24) フォーマットエラーの判定(formatErr)を、子クラスから移動します。
3.7.0.1 (2005/01/31) ページブレイク時の処理追加。
3.7.0.2 (2005/02/18) HTML のエスケープ文字対応
3.7.1.1 (2005/05/09) セル内の改行
は、エスケープしない。
3.8.0.0 (2005/06/07) Shift-JIS で中国語を扱う。(Unicodeエスケープ文字は、エスケープしない)
3.8.5.1 (2006/04/28) YKNO を特別扱いする。

setFooterKeys

public void setFooterKeys(java.lang.String[] fKeys)
繰り返し部の終了後に表示する key 部分を指定します。 カンマで複数指定できます。

定義:
インタフェース DBTableReport 内の setFooterKeys
パラメータ:
fKeys - 繰り返し部の終了後に表示する key
変更履歴:
3.5.6.0 (2004/06/18) 配列の設定は、arraycopy して取り込みます。

setFooterVals

public void setFooterVals(java.lang.String[] fVals)
固定部のkey に対応する値を指定します。 カンマで複数指定で、リクエスト情報でも設定できます。

定義:
インタフェース DBTableReport 内の setFooterVals
パラメータ:
fVals - 繰り返し部の終了後に表示する値
変更履歴:
3.5.6.0 (2004/06/18) 配列の設定は、arraycopy して取り込みます。

setPageEndCut

public void setPageEndCut(boolean pageEndCut)
ボディー部(繰り返し部)がなくなったときに、それ以降を表示するかどうかを指定します。 true では、それ以降を出力しません。 デフォルト "true" (なくなった時点で、出力しない。)です。

定義:
インタフェース DBTableReport 内の setPageEndCut
パラメータ:
pageEndCut - 繰り返し部の終了後に継続処理するかどうか (true:処理しない/false:処理する)

initReader

protected void initReader()
BufferedReader を、初期化します。 これは、雛型ファイルの終端まで読取り、処理した場合、もう一度 初めから読み込みなおす処理を行います。 基本的に、書き込みも初期化する必要があります。 メモリ上に読み込んで、繰り返し利用するかどうかは、実装依存です。

変更履歴:
3.1.3.0 (2003/04/10) "DEFAULT" エンコーディング名のサポートを廃止。
3.5.5.9 (2004/06/07) FileUtil.getBufferedReader を使用
3.6.0.0 (2004/09/17) 最初のページのみに使用する雛型ファイル名を追加します。
3.6.0.0 (2004/09/24) フォーマットエラーの判定(formatErr)を、子クラスから移動します。

initWriter

protected void initWriter()
PrintWriter を、初期化します。 これは、雛型ファイルを終端まで読取り、処理した場合、出力ファイル名を 変えて、別ファイルとして出力する為のものです。 基本的に、読取も初期化する必要があります。 メモリ上に読み込んで、繰り返し利用するかどうかは、実装依存です。

変更履歴:
3.0.0.1 (2003/02/14) ページの最大ページ数の制限を追加。暴走停止用
3.1.3.0 (2003/04/10) "DEFAULT" エンコーディング名のサポートを廃止。
3.5.5.9 (2004/06/07) FileUtil.getPrintWriter メソッドを使用
3.7.0.1 (2005/01/31) ページブレイク処理に対応。
3.8.0.0 (2005/06/07) FileUtil#getPrintWriter を利用。
3.8.5.3 (2006/06/30) EXCEL最大シート数のエラーメッセージを変更。

setHeaderFooter

protected void setHeaderFooter()
ヘッダーフッターのレンデラーデータを設定します。 カンマで複数指定で、リクエスト情報でも設定できます。


openGion 5.6.5.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.