概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.6.8.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)` 帳票ＩＤ をセットします。
`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 タグを目印に、１行(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.0 (2005/01/31) lang ⇒ ResourceManager へ変更

### setListId

    public void setListId(java.lang.String listId)

  帳票ＩＤ をセットします。 この帳票ＩＤを利用して、画像ファイル等のセーブディレクトリを求めます。

  定義:
    インタフェース `DBTableReport` 内の `setListId`
  パラメータ:
    `listId` - 帳票ＩＤ
  変更履歴:

    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()

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

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.6.8.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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