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

## org.opengion.hayabusa.io
クラス AbstractTableReader

    java.lang.Object
      org.opengion.hayabusa.io.AbstractTableReader

すべての実装されたインタフェース:
  TableReader

直系の既知のサブクラス:
  TableReader_Default, TableReader_JExcel

    public abstract class AbstractTableReader

extends java.lang.Object
implements TableReader

指定の区切り記号（初期値：タブ区切り）ファイルの読み取りクラスです。 名前，データの入力部のみオーバーライドすれば，各種入力フォーマットに合わせた サブクラスを実現する事が可能です。

機能階層
  ファイル入力
バージョン
  4.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

フィールドの概要
`protected java.lang.String` | `columns`
`protected DBColumn[]` | `dbColumn`
`protected DBTableModel` | `table`

インタフェース org.opengion.hayabusa.io.TableReader から継承されたフィールド
`TAB_SEPARATOR`

コンストラクタの概要
`AbstractTableReader()`

メソッドの概要
`DBTableModel` | `getDBTableModel()` 内部の DBTableModel を返します。
`protected java.lang.String` | `getEncode()` 読み取り元ファイルのエンコード文字列を取得します。
`int` | `getMaxRowCount()` DBTableModelのデータとして登録する最大件数をこの値に設定します。
`java.lang.String` | `getSeparator()` データを書き込む場合の,区切り文字を返します。
`int` | `getSkipRowCount()` データの読み始めの初期値を取得します。
`boolean` | `isExcel()` このクラスが、EXCEL対応機能を持っているかどうかを返します。
`protected boolean` | `isUseNumber()` 行番号情報を、使用している(true)/していない(false)を返します。
`protected java.lang.String[]` | `readData(java.lang.String data, int clmSize)` BufferedReader より読み込んだ１行のデータを テーブルモデルに セットするように分割します なお、読込みは，NAME項目分を読み込みます。
`abstract void` | `readDBTable()` DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。
`abstract void` | `readDBTable(java.io.BufferedReader reader)` DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。
`void` | `setColumns(java.lang.String clms)` 読み取り元ファイルのカラム列を、外部（タグ）より指定します。
`void` | `setEncode(java.lang.String enc)` 読み取り元ファイルのエンコード文字列を指定します。
`void` | `setFilename(java.lang.String filename)` 読み取り元ファイル名をセットします。
`void` | `setMaxRowCount(int maxRowCount)` DBTableModelのデータとして登録する最大件数をこの値に設定します。
`void` | `setResourceManager(ResourceManager resource)` リソースマネージャーをセットします。
`void` | `setSeparator(java.lang.String sep)` データを読み込む場合の,区切り文字をセットします。
`void` | `setSheetName(java.lang.String sheetName)` DBTableModelのデータとして読み込むときのシート名を設定します。
`void` | `setSkipRowCount(int count)` データの読み飛ばし件数を設定します。
`protected void` | `setTableColumnValues(java.lang.String[] values)` DBTableModel オブジェクトに、１行分のデータを追加します。
`protected void` | `setTableDBColumn(java.lang.String[] names)` DBColumn オブジェクトをDBTable に設定します。
`void` | `setUseNumber(boolean useNumber)` 行番号情報を、使用している(true)/していない(false)を指定します。
`void` | `setUseRenderer(boolean useRenderer)` 読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### table

    protected DBTableModel table

### dbColumn

    protected DBColumn[] dbColumn

### columns

    protected java.lang.String columns

コンストラクタの詳細

### AbstractTableReader

    public AbstractTableReader()

メソッドの詳細

### readDBTable

    public abstract void readDBTable()

  DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。 コメント/空行を除き、最初の行は、必ず項目名が必要です。 それ以降は、コメント/空行を除き、データとして読み込んでいきます。 このメソッドは、EXCEL 読み込み時に使用します。

  定義:
    インタフェース `TableReader` 内の `readDBTable`
  関連項目:
    `isExcel()`

### readDBTable

    public abstract void readDBTable(java.io.BufferedReader reader)

  DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。 コメント/空行を除き、最初の行は、必ず項目名が必要です。 それ以降は、コメント/空行を除き、データとして読み込んでいきます。

  定義:
    インタフェース `TableReader` 内の `readDBTable`
  パラメータ:
    `reader` - BufferedReader

### setResourceManager

    public void setResourceManager(ResourceManager resource)

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

  定義:
    インタフェース `TableReader` 内の `setResourceManager`
  パラメータ:
    `resource` - リソースマネージャー
  変更履歴:

    4.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更

### setTableDBColumn

    protected void setTableDBColumn(java.lang.String[] names)

  DBColumn オブジェクトをDBTable に設定します。

  パラメータ:
    `names` - String[]
  変更履歴:

    3.5.4.2 (2003/12/15) private を protected に変更。
    3.5.4.5 (2004/01/23) DBColumn 配列に値をセットします。
    5.2.1.0 (2010/10/01) useRenderer対応（コードリソース毎のラベル逆引き）

### setTableColumnValues

    protected void setTableColumnValues(java.lang.String[] values)

  DBTableModel オブジェクトに、１行分のデータを追加します。 これ自体は、メソッドの共通化による 拡張をしやすくするために用意しました。

  パラメータ:
    `values` - String[]
  変更履歴:

    5.2.1.0 (2010/10/01) 新規作成

### readData

    protected java.lang.String[] readData(java.lang.String data,
                                          int clmSize)

  BufferedReader より読み込んだ１行のデータを テーブルモデルに セットするように分割します なお、読込みは，NAME項目分を読み込みます。データ件数が少ない場合は、 "" をセットしておきます。

  パラメータ:
    `data` - String
    `clmSize` - int
  戻り値:
    String[]
  変更履歴:

    3.3.3.1 (2003/07/18) ファイルリード/ライト時に後ろスペースの除去を行います。
    3.7.0.5 (2005/04/11) useNumber 属性を考慮します。

### getDBTableModel

    public DBTableModel getDBTableModel()

  内部の DBTableModel を返します。

  定義:
    インタフェース `TableReader` 内の `getDBTableModel`
  戻り値:
    DBTableModel テーブルモデル

### setSeparator

    public void setSeparator(java.lang.String sep)

  データを読み込む場合の,区切り文字をセットします。 なお，このメソッドは,サブクラスによっては,使用しない場合があります。 もし，使用しないサブクラスを作成する場合は, UnsupportedOperationException を throw するように,サブクラスで実装して下さい。

  定義:
    インタフェース `TableReader` 内の `setSeparator`
  パラメータ:
    `sep` - 区切り文字
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### getSeparator

    public java.lang.String getSeparator()

  データを書き込む場合の,区切り文字を返します。

  戻り値:
    separator 区切り文字

### getMaxRowCount

    public int getMaxRowCount()

  DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。

  定義:
    インタフェース `TableReader` 内の `getMaxRowCount`
  戻り値:
    最大検索件数

### setMaxRowCount

    public void setMaxRowCount(int maxRowCount)

  DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。

  定義:
    インタフェース `TableReader` 内の `setMaxRowCount`
  パラメータ:
    `maxRowCount` - int
  変更履歴:

    3.1.1.0 (2003/03/28) 同期メソッド（synchronized付き）を非同期に変更する。

### setSheetName

    public void setSheetName(java.lang.String sheetName)

  DBTableModelのデータとして読み込むときのシート名を設定します。 デフォルトは、第一シートです。 ※ このクラスでは実装されていません。

  定義:
    インタフェース `TableReader` 内の `setSheetName`
  パラメータ:
    `sheetName` - String
  変更履歴:

    3.5.4.2 (2003/12/15) 新規追加

### isExcel

    public boolean isExcel()

  このクラスが、EXCEL対応機能を持っているかどうかを返します。 EXCEL対応機能とは、シート名のセット、読み込み元ファイルの Fileオブジェクト取得などの、特殊機能です。 本来は、インターフェースを分けるべきと考えますが、taglib クラス等の 関係があり、問い合わせによる条件分岐で対応します。

  定義:
    インタフェース `TableReader` 内の `isExcel`
  戻り値:
    boolean EXCEL対応機能を持っているかどうか
  変更履歴:

    3.5.4.3 (2004/01/05) 新規追加

### setFilename

    public void setFilename(java.lang.String filename)

  読み取り元ファイル名をセットします。(DIR + Filename) これは、EXCEL追加機能として実装されています。 ※ このクラスでは実装されていません。

  定義:
    インタフェース `TableReader` 内の `setFilename`
  パラメータ:
    `filename` - 読み取り元ファイル名
  変更履歴:

    3.5.4.3 (2004/01/05) 新規作成

### setColumns

    public void setColumns(java.lang.String clms)

  読み取り元ファイルのカラム列を、外部（タグ）より指定します。 ファイルに記述された #NAME より優先して使用されます。

  定義:
    インタフェース `TableReader` 内の `setColumns`
  パラメータ:
    `clms` - 読み取り元ファイルのカラム列（カンマ区切り文字）
  変更履歴:

    3.5.4.5 (2004/01/23) 新規作成

### setEncode

    public void setEncode(java.lang.String enc)

  読み取り元ファイルのエンコード文字列を指定します。 ファイルは、BufferedReader で受け取る為、本来は、エンコードは不要ですが、 固定長ファイルの読み取り時のバイトコード分割時に、指定のエンコードで 分割する必要があります。（例えば、半角文字は、Shift_JIS では、１バイト）

  定義:
    インタフェース `TableReader` 内の `setEncode`
  パラメータ:
    `enc` - ファイルのエンコード文字列
  変更履歴:

    3.5.4.5 (2004/01/23) 新規作成

### getEncode

    protected java.lang.String getEncode()

  読み取り元ファイルのエンコード文字列を取得します。 ファイルは、BufferedReader で受け取る為、本来は、エンコードは不要ですが、 固定長ファイルの読み取り時のバイトコード分割時に、指定のエンコードで 分割する必要があります。（例えば、半角文字は、Shift_JIS では、１バイト）

  戻り値:
    String ファイルのエンコード文字列
  変更履歴:

    3.5.4.5 (2004/01/23) 新規作成

### setUseNumber

    public void setUseNumber(boolean useNumber)

  行番号情報を、使用している(true)/していない(false)を指定します。 通常のフォーマットでは、各行の先頭に行番号が出力されています。 読み取り時に、#NAME 属性を使用する場合は、この行番号を無視しています。 #NAME 属性を使用せず、columns 属性でカラム名を指定する場合(他システムの 出力ファイルを読み取るケース等）では、行番号も存在しないケースがあり、 その様な場合に、useNumber="false" を指定すれば、データの最初から読み取り始めます。 この場合、出力データのカラムの並び順が変更された場合、columns 属性も 指定しなおす必要がありますので、できるだけ、#NAME 属性を使用するように してください。 なお、EXCEL 入力には、この設定は適用されません。(暫定対応) デフォルトは、true（使用する） です。

  定義:
    インタフェース `TableReader` 内の `setUseNumber`
  パラメータ:
    `useNumber` - boolean 行番号情報を、使用している(true)/していない(false)を指定
  変更履歴:

    3.7.0.5 (2005/04/11) 新規追加

### getSkipRowCount

    public int getSkipRowCount()

  データの読み始めの初期値を取得します。 TAB区切りテキストやEXCEL等のデータの読み始めの初期値を指定します。 ファイルの先頭行が、０行としてカウントしますので、設定値は、読み飛ばす 件数になります。（１と指定すると、１件読み飛ばし、２行目から読み込みます。） 読み飛ばしは、コメント行などは、無視しますので、実際の行数分読み飛ばします。 ＃NAME属性や、columns 属性は、有効です。

  戻り値:
    int skipRowCount 読み始めの初期値
  変更履歴:

    5.1.6.0 (2010/05/01) 新規作成

### setSkipRowCount

    public void setSkipRowCount(int count)

  データの読み飛ばし件数を設定します。 TAB区切りテキストやEXCEL等のデータの読み始めの初期値を指定します。 ファイルの先頭行が、０行としてカウントしますので、設定値は、読み飛ばす 件数になります。（１と指定すると、１件読み飛ばし、２行目から読み込みます。） 読み飛ばしは、コメント行などは、無視しますので、実際の行数分読み飛ばします。 ＃NAME属性や、columns 属性は、有効です。

  定義:
    インタフェース `TableReader` 内の `setSkipRowCount`
  パラメータ:
    `count` - 読み始めの初期値
  変更履歴:

    5.1.6.0 (2010/05/01) 新規作成

### setUseRenderer

    public void setUseRenderer(boolean useRenderer)

  読取処理でラベルをコードリソースに逆変換を行うかどうかを指定します。 TableWriter_Renderer 系のクラスで出力した場合は、コードリソースがラベルで出力されます。 そのファイルを読み取ると、当然、エラーになります。 ここでは、コードリソースのカラムに対して、ラベルからコードを求める逆変換を行うことで、 Renderer 系で出力したファイルを取り込むことができるようにします。 ここでは、TableWriter 系と同様に、TableReader_Renderer 系のクラスを作るのではなく、 属性値のフラグで、制御します。 将来的には、TableWriter 系も廃止して、同様のフラグで制御するように変更する予定です。

  定義:
    インタフェース `TableReader` 内の `setUseRenderer`
  パラメータ:
    `useRenderer` - boolean コードリソースのラベル変換を行うかどうかを指定
  変更履歴:

    5.2.1.0 (2010/10/01) 新規作成

### isUseNumber

    protected boolean isUseNumber()

  行番号情報を、使用している(true)/していない(false)を返します。 通常のフォーマットでは、各行の先頭に行番号が出力されています。 読み取り時に、#NAME 属性を使用する場合は、この行番号を無視しています。 #NAME 属性を使用せず、columns 属性でカラム名を指定する場合(他システムの 出力ファイルを読み取るケース等）では、行番号も存在しないケースがあり、 その様な場合に、useNumber="false" を指定すれば、データの最初から読み取り始めます。 この場合、出力データのカラムの並び順が変更された場合、columns 属性も 指定しなおす必要がありますので、できるだけ、#NAME 属性を使用するように してください。 なお、EXCEL 入力には、この設定は適用されません。(暫定対応) デフォルトは、true（使用する） です。

  戻り値:
    useNo 行番号情報を、使用している(true)/していない(false)を指定
  変更履歴:

    3.7.0.5 (2005/04/11) 新規追加
    4.0.0 (2007/07/20) メソッド名変更(getUseNumber() ⇒ isUseNumber())

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

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