openGionopenGion
5.1.6.0

org.opengion.plugin.io
クラス TableWriter_Default

java.lang.Object
  上位を拡張 org.opengion.plugin.io.TableWriter_Default
すべての実装されたインタフェース:
TableWriter
直系の既知のサブクラス:
TableWriter_Calc, TableWriter_CSV, TableWriter_CSV2, TableWriter_Data, TableWriter_Data2, TableWriter_Excel, TableWriter_Fixed, TableWriter_Properties, TableWriter_Renderer, TableWriter_T, TableWriter_XML

public class TableWriter_Default
extends Object
implements TableWriter

区切り文字指定(初期値:タブ)ゼロカンマファイルの書き出しクラスです。 ラベル,名前,データの出力部のみオーバーライドすれば,各種出力フォーマットに合わせた サブクラスを実現する事が可能です。 ゼロカンマファイルとは、EXCELのゼロサプレス対策として、頭ゼロの文字型データを出力する 時に、先頭にカンマ(')を付けて、ゼロが削除(見えなくなる)現象を抑止しているファイルです。 このクラスは,可変長タブ区切り文字ファイルの出力機能を実現しています。

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

フィールドの概要
protected  int[] clmNo
           
protected  DBColumn[] dbColumn
           
protected  int[] dbType
           
static int NUMBER
           
protected  int numberOfColumns
           
static int NVAR
           
static int STRING
           
protected  DBTableModel table
           
 
インタフェース org.opengion.hayabusa.io.TableWriter から継承されたフィールド
CSV_SEPARATOR, TAB_SEPARATOR
 
コンストラクタの概要
TableWriter_Default()
           
 
メソッドの概要
protected  boolean createDBColumn()
          numberOfColumns と DBColumn を初期化します。
 DBTableModel getDBTableModel()
          内部の DBTableModel を返します。
protected  String getEncode()
          読み取り元ファイルのエンコード文字列を取得します。
 String getHeaderSequence()
          DBTableModelの出力順を返します。
 String getSeparator()
          データを書き込む場合の,区切り文字を返します。
 boolean isAppend()
          DBTableModelのデータとして書き込むときに、追加モードで書き込むかどうかを取得します。
 boolean isExcel()
          このクラスが、EXCEL対応機能を持っているかどうかを返します。
protected  boolean isUseNumber()
          行番号情報を、出力する(true)/しない(false)を返します。
protected  String quotation(String data)
          データを ダブルコーテーション(")で囲みます。
 void setAppend(boolean flag)
          DBTableModelのデータとして書き込むときに、追加モードで書き込むかどうかを設定します。
 void setColumns(String clms)
          出力先ファイルのカラム列を、外部(タグ)よりCSV形式の文字列で指定します。
 void setDBTableModel(DBTableModel table, String lang)
          DBTableModel をセットします。
 void setEncode(String enc)
          読み取り元ファイルのエンコード文字列を指定します。
 void setFilename(String filename)
          出力先ファイル名をセットします。
 void setFontName(String fontName)
          EXCEL出力時のデフォルトフォント名を設定します。
 void setFontPoint(short point)
          EXCEL出力時のデフォルトフォントポイント数を設定します。
 void setHeaderSequence(String hs)
          DBTableModelの出力順をセットします。
 void setParam(List<HybsEntry> listParam)
          パラメーターリストをセットします。
 void setRefFilename(String filename)
          EXCEL雛型参考ファイル名をセットします。
 void setRefSheetName(String sheetName)
          EXCEL雛型参考ファイルのシート名を設定します。
 void setSeparator(String sep)
          データを書き込む場合の,区切り文字をセットします。
 void setSheetName(String sheetName)
          DBTableModelのデータとして読み込むときのシート名を設定します。
 void setUseNumber(boolean useNumber)
          行番号情報を、出力する(true)/しない(false)を指定します。
protected  void writeClass(DBTableModel table, PrintWriter writer)
          PrintWriter に DBTableModelのクラス名情報を書き込みます。
protected  void writeData(DBTableModel table, PrintWriter writer)
          PrintWriter に DBTableModelのテーブル情報を書き込みます。
 void writeDBTable()
          DBTableModel から 各形式のデータを作成して,PrintWriter に書き出します。
 void writeDBTable(PrintWriter writer)
          DBTableModel から データを作成して,PrintWriter に書き出します。
protected  void writeHeader(PrintWriter writer)
          PrintWriter に DBTableModelのヘッダー情報を書き込みます。
protected  void writeLabel(DBTableModel table, PrintWriter writer)
          PrintWriter に DBTableModelのラベル情報を書き込みます。
protected  void writeName(DBTableModel table, PrintWriter writer)
          PrintWriter に DBTableModelの項目名情報を書き込みます。
protected  void writeSeparator(DBTableModel table, PrintWriter writer)
          PrintWriter に セパレーターを書き込みます。
protected  void writeSize(DBTableModel table, PrintWriter writer)
          PrintWriter に DBTableModelのサイズ情報を書き込みます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

numberOfColumns

protected int numberOfColumns

table

protected DBTableModel table

dbColumn

protected DBColumn[] dbColumn

clmNo

protected int[] clmNo

dbType

protected int[] dbType

STRING

public static final int STRING
関連項目:
定数フィールド値

NVAR

public static final int NVAR
関連項目:
定数フィールド値

NUMBER

public static final int NUMBER
関連項目:
定数フィールド値
コンストラクタの詳細

TableWriter_Default

public TableWriter_Default()
メソッドの詳細

writeDBTable

public void writeDBTable()
DBTableModel から 各形式のデータを作成して,PrintWriter に書き出します。 このメソッドは、EXCEL 書き出し時に使用します。

定義:
インタフェース TableWriter 内の writeDBTable
関連項目:
isExcel()
変更履歴:
4.0.0 (2006/09/31) 新規追加

writeDBTable

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

定義:
インタフェース TableWriter 内の writeDBTable
パラメータ:
writer - PrintWriter
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。
3.5.4.2 (2003/12/15) writer の null チェックを廃止します。
3.5.4.3 (2004/01/05) 引数に PrintWriter を受け取るように変更します。

createDBColumn

protected boolean createDBColumn()
numberOfColumns と DBColumn を初期化します。 内部的に、DBTableModel、lang , columns を使用して、 numberOfColumns 、dbColumn、clmNo の値を初期化します。 カラムが1項目もない場合、言語(lnag)が未指定、DBTableModelが未指定(null) の場合は、false を返します。その場合は、以下の処理は正常に行えません。 データが0件の場合は、処理を行います。通常、ヘッダーのみのファイルを 作成することになります。(これを雛形として、取込データを登録する事が可能)

戻り値:
初期化成功:true / 失敗:false
変更履歴:
4.0.0 (2005/12/31) 外部指定のカラム名を使用
5.1.6.0 (2010/05/01) DbType の初期値を設定する。

writeHeader

protected void writeHeader(PrintWriter writer)
PrintWriter に DBTableModelのヘッダー情報を書き込みます。

パラメータ:
writer - PrintWriter
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。

writeLabel

protected void writeLabel(DBTableModel table,
                          PrintWriter writer)
PrintWriter に DBTableModelのラベル情報を書き込みます。 第一カラム目は、ラベル情報を示す "#Label" を書き込みます。 この行は、出力形式に無関係に、TableWriter.TAB_SEPARATOR で区切られます。

パラメータ:
table - DBTableModel
writer - PrintWriter
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。
3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定
4.0.0 (2005/12/31) 外部指定のカラム名を使用

writeName

protected void writeName(DBTableModel table,
                         PrintWriter writer)
PrintWriter に DBTableModelの項目名情報を書き込みます。 第一カラム目は、項目名情報を示す "#Name" を書き込みます。 この行は、出力形式に無関係に、TableWriter.TAB_SEPARATOR で区切られます。

パラメータ:
table - DBTableModel
writer - PrintWriter
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。
3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定

writeSize

protected void writeSize(DBTableModel table,
                         PrintWriter writer)
PrintWriter に DBTableModelのサイズ情報を書き込みます。 第一カラム目は、サイズ情報を示す "#Size" を書き込みます。 この行は、出力形式に無関係に、TableWriter.TAB_SEPARATOR で区切られます。

パラメータ:
table - DBTableModel
writer - PrintWriter
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。
3.5.5.5 (2004/04/23) DBColumn の size と maxlength の 意味を変更
3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定

writeClass

protected void writeClass(DBTableModel table,
                          PrintWriter writer)
PrintWriter に DBTableModelのクラス名情報を書き込みます。 第一カラム目は、サイズ情報を示す "#Class" を書き込みます。 この行は、出力形式に無関係に、TableWriter.TAB_SEPARATOR で区切られます。

パラメータ:
table - DBTableModel
writer - PrintWriter
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。

writeSeparator

protected void writeSeparator(DBTableModel table,
                              PrintWriter writer)
PrintWriter に セパレーターを書き込みます。 第一カラム目は、サイズ情報を示す "#----" を書き込みます。 この行は、出力形式に無関係に、TableWriter.TAB_SEPARATOR で区切られます。

パラメータ:
table - DBTableModel
writer - PrintWriter
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。
3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定

writeData

protected void writeData(DBTableModel table,
                         PrintWriter writer)
PrintWriter に DBTableModelのテーブル情報を書き込みます。 このクラスでは,データを ダブルコーテーション(")で囲みます。 PrintWriter に DBTableModelのテーブル情報を書き込みます。

パラメータ:
table - DBTableModel
writer - PrintWriter
変更履歴:
2.0.0.5 (2002/09/30) 先頭が0 でかつ数字タイプ(S9 or R)でない場合に ' を出力するように修正。
2.3.1.2 (2003/01/28) データ出力時に、改行が余分に出される箇所を修正。
3.1.0.0 (2003/03/20) DBColumn から、getDbType() キーを直接取り出す
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。
3.3.3.1 (2003/07/18) ファイルリード/ライト時に後ろスペースの除去を行います。
3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定
3.8.0.1 (2005/06/17) DBTypeが NVAR の場合は、元のUnicodeに戻します。
5.1.6.0 (2010/05/01) DbType の初期値(dbType)を利用する。

setDBTableModel

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

定義:
インタフェース TableWriter 内の setDBTableModel
パラメータ:
table - DBTableModel
lang - 言語コード
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。
3.5.4.2 (2003/12/15) lang 引数も同時に設定します。

getDBTableModel

public DBTableModel getDBTableModel()
内部の DBTableModel を返します。

定義:
インタフェース TableWriter 内の getDBTableModel
戻り値:
DBTableModel

setHeaderSequence

public void setHeaderSequence(String hs)
DBTableModelの出力順をセットします。 Label,Name,Size,Class,Data の各フィールドの頭文字のアルファベットで 出力順を設定します。 なお,出力順に指定しない項目は出力されません

定義:
インタフェース TableWriter 内の setHeaderSequence
パラメータ:
hs - 出力順 (LNSCD など)
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。

getHeaderSequence

public String getHeaderSequence()
DBTableModelの出力順を返します。 Label,Name,Size,Class,Data の各フィールドの頭文字のアルファベットで 出力順を設定します。 なお,出力順に指定しない項目は出力されません

定義:
インタフェース TableWriter 内の getHeaderSequence
戻り値:
出力順 (LNSCD など)

setSeparator

public void setSeparator(String sep)
データを書き込む場合の,区切り文字をセットします。

定義:
インタフェース TableWriter 内の setSeparator
パラメータ:
sep - 区切り文字
変更履歴:
3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。

getSeparator

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

戻り値:
separator 区切り文字

setAppend

public void setAppend(boolean flag)
DBTableModelのデータとして書き込むときに、追加モードで書き込むかどうかを設定します。 デフォルトは、false(新規モード)です。

定義:
インタフェース TableWriter 内の setAppend
パラメータ:
flag - boolean true(追加モード)/false(新規モード)
変更履歴:
3.5.4.2 (2003/12/15) 新規追加

isAppend

public boolean isAppend()
DBTableModelのデータとして書き込むときに、追加モードで書き込むかどうかを取得します。 デフォルトは、false(新規モード)です。

定義:
インタフェース TableWriter 内の isAppend
戻り値:
boolean true(追加モード)/false(新規モード)
変更履歴:
3.5.4.2 (2003/12/15) 新規追加

setSheetName

public void setSheetName(String sheetName)
DBTableModelのデータとして読み込むときのシート名を設定します。 デフォルトは、"Sheet1" です。 これは、EXCEL追加機能として実装されています。 ※ このクラスでは実装されていません。

定義:
インタフェース TableWriter 内の setSheetName
パラメータ:
sheetName - String
変更履歴:
3.5.4.2 (2003/12/15) 新規追加
3.5.4.3 (2004/01/05) 実装廃止(TableWriter_Excel へ移動)

setRefSheetName

public void setRefSheetName(String sheetName)
EXCEL雛型参考ファイルのシート名を設定します。 これは、EXCEL追加機能として実装されています。 EXCELファイルを書き出す時に、雛型として参照するシート名を指定します。 これにより、複数の形式の異なるデータを順次書き出したり(appendモードを併用)する ことや、シートを指定して新規にEXCELを作成する場合にフォームを設定する事が可能になります。 デフォルトは、null(第一シート) です。 ※ このクラスでは実装されていません。

定義:
インタフェース TableWriter 内の setRefSheetName
パラメータ:
sheetName - String
変更履歴:
3.5.4.3 (2004/01/05) 新規追加

isExcel

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

定義:
インタフェース TableWriter 内の isExcel
戻り値:
boolean
変更履歴:
3.5.4.3 (2004/01/05) 新規追加

setFilename

public void setFilename(String filename)
出力先ファイル名をセットします。(DIR + Filename) これは、EXCEL追加機能として実装されています。 ※ このクラスでは実装されていません。

定義:
インタフェース TableWriter 内の setFilename
パラメータ:
filename - EXCEL雛型参考ファイル名
例外:
UnsupportedOperationException
変更履歴:
3.5.4.3 (2004/01/05) 新規作成

setRefFilename

public void setRefFilename(String filename)
EXCEL雛型参考ファイル名をセットします。(DIR + Filename) これは、EXCEL追加機能として実装されています。 ※ このクラスでは実装されていません。

定義:
インタフェース TableWriter 内の setRefFilename
パラメータ:
filename - EXCEL雛型参考ファイル名
例外:
UnsupportedOperationException
変更履歴:
3.5.4.3 (2004/01/05) 新規作成

setFontName

public void setFontName(String fontName)
EXCEL出力時のデフォルトフォント名を設定します。
これは、EXCEL追加機能として実装されています。
EXCELファイルを書き出す時に、デフォルトフォント名を指定します。 フォント名は、EXCELのフォント名をそのまま使用してください。
内部的に、POI の org.apache.poi.hssf.usermodel.HSSFFont#setFontName( String ) に設定されます。 デフォルトは、システムリソース の TABLE_WRITER_DEFAULT_FONT_NAME です。

定義:
インタフェース TableWriter 内の setFontName
パラメータ:
fontName - String
変更履歴:
3.8.5.3 (2006/08/07) 新規追加

setFontPoint

public void setFontPoint(short point)
EXCEL出力時のデフォルトフォントポイント数を設定します。
これは、EXCEL追加機能として実装されています。
EXCELファイルを書き出す時に、デフォルトポイント数を指定します。 内部的に、POI の org.apache.poi.hssf.usermodel.HSSFFont#setFontHeightInPoints( short ) に設定されます。 デフォルトは、システムリソース の TABLE_WRITER_DEFAULT_FONT_POINTS です。

定義:
インタフェース TableWriter 内の setFontPoint
パラメータ:
point - short
変更履歴:
3.8.5.3 (2006/08/07) 新規追加

setEncode

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

定義:
インタフェース TableWriter 内の setEncode
パラメータ:
enc - ファイルのエンコード文字列
変更履歴:
3.5.4.5 (2004/01/23) 新規作成

getEncode

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

戻り値:
String ファイルのエンコード文字列
変更履歴:
3.5.4.5 (2004/01/23) 新規作成

setUseNumber

public void setUseNumber(boolean useNumber)
行番号情報を、出力する(true)/しない(false)を指定します。 通常のフォーマットでは、各行の先頭に行番号を出力します。 これは、#NAME 属性を使用する場合には、必ず出力する必要があります。 (#NAME 属性は、読み取り時には、必須です。) この、先頭の行番号が不要な場合(つまり、他のシステムへのデータ出力、 このシステムでは、#NAME 属性が出力されないため、読み込みできません。) この行番号を出力しないようにできます。 デフォルトは、true(出力する) です。

定義:
インタフェース TableWriter 内の setUseNumber
パラメータ:
useNumber - 行番号情報を、出力する(true)/しない(false)を指定
変更履歴:
3.7.0.2 (2005/02/14) 新規追加

isUseNumber

protected boolean isUseNumber()
行番号情報を、出力する(true)/しない(false)を返します。 通常のフォーマットでは、各行の先頭に行番号を出力します。 これは、#NAME 属性を使用する場合には、必ず出力する必要があります。 (#NAME 属性は、読み取り時には、必須です。) この、先頭の行番号が不要な場合(つまり、他のシステムへのデータ出力、 このシステムでは、#NAME 属性が出力されないため、読み込みできません。) この行番号を出力しないようにできます。 デフォルトは、true(出力する) です。

戻り値:
行番号情報を、出力する(true)/しない(false)
変更履歴:
3.7.0.2 (2005/02/14) 新規追加

setParam

public void setParam(List<HybsEntry> listParam)
パラメーターリストをセットします。 内部は、HybsEntry クラスを持っています。 引数が、null の場合は、何もしません。 ※ このクラスでは実装されていません。

定義:
インタフェース TableWriter 内の setParam
パラメータ:
listParam - List パラメーターリスト
変更履歴:
4.0.0 (2005/01/31) 新規追加

setColumns

public void setColumns(String clms)
出力先ファイルのカラム列を、外部(タグ)よりCSV形式の文字列で指定します。 ただし、指定のカラム名は、DBTableModel上に存在している必要があります。

定義:
インタフェース TableWriter 内の setColumns
パラメータ:
clms - 出力先ファイルのカラム列(カンマ区切り文字)
変更履歴:
4.0.0 (2005/11/30) 新規追加

quotation

protected String quotation(String data)
データを ダブルコーテーション(")で囲みます。

パラメータ:
data - 元のString文字列
戻り値:
ダブルコーテーションで囲まれた文字列

openGion 5.1.6.0

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