public abstract class AbstractTableWriter extends java.lang.Object implements TableWriter
区切り文字指定(初期値:タブ)ゼロカンマファイルの書き出しクラスです。
ラベル,名前,データの出力部のみオーバーライドすれば,各種出力フォーマットに合わせた
サブクラスを実現する事が可能です。
ゼロカンマファイルとは、EXCELのゼロサプレス対策として、頭ゼロの文字型データを出力する
時に、先頭にカンマ(')を付けて、ゼロが削除(見えなくなる)現象を抑止しているファイルです。
このクラスは,可変長タブ区切り文字ファイルの出力機能を実現しています。| 修飾子とタイプ | フィールドと説明 |
|---|---|
protected static int |
BUFFER_MIDDLE
StringBilderなどの初期値を設定します。
|
protected int[] |
clmNo |
protected static java.lang.String |
CR
システムの改行コードを設定します。
|
protected DBColumn[] |
dbColumn |
protected int[] |
dbType |
protected boolean[] |
isKeyLbl |
static int |
NUMBER
dbType の簡易的な設定 2
|
protected int |
numberOfColumns |
static int |
NVAR
dbType の簡易的な設定 1
|
static int |
STRING
dbType の簡易的な設定 0
|
protected DBTableModel |
table |
CSV_SEPARATOR, TAB_SEPARATOR| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
AbstractTableWriter()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
protected void |
checkParam(java.lang.String key,
java.util.Map keysMap)
keys の整合性チェックを行います。
|
protected boolean |
createDBColumn()
numberOfColumns と DBColumn を初期化します。
|
DBTableModel |
getDBTableModel()
内部の DBTableModel を返します。
|
protected java.lang.String |
getEncode()
読み取り元ファイルのエンコード文字列を取得します。
|
java.lang.String |
getHeaderSequence()
DBTableModelの出力順を返します。
|
java.lang.String |
getSeparator()
データを書き込む場合の,区切り文字を返します。
|
boolean |
isAppend()
DBTableModelのデータとして書き込むときに、追加モードで書き込むかどうかを取得します。
|
protected boolean |
isDebug()
デバッグ情報を出力するかどうか[true:する/false:しない]を取得します。
|
boolean |
isExcel()
このクラスが、EXCEL対応機能を持っているかどうかを返します。
|
protected boolean |
isUseNumber()
行番号情報を、出力する(true)/しない(false)を返します。
|
protected boolean |
isUseRenderer()
書き出し処理でコードリソースのラベル変換を行うかどうかを返します。
|
protected java.lang.String |
quotation(java.lang.String data)
データを ダブルコーテーション(")で囲みます。
|
protected java.lang.String |
quotation2(java.lang.String data)
データに対して 改行、ダブルクオート等の処理を行います。
|
void |
setAddTitleSheet(java.lang.String sheetName)
EXCEL出力時に、Sheet一覧を先頭Sheetに作成する場合のSheet名を指定します。
|
void |
setAppend(boolean flag)
DBTableModelのデータとして書き込むときに、追加モードで書き込むかどうかを設定します。
|
void |
setColumns(java.lang.String clms)
出力先ファイルのカラム列を、外部(タグ)よりCSV形式の文字列で指定します。
|
void |
setDBTableModel(DBTableModel table,
java.lang.String lang)
DBTableModel をセットします。
|
void |
setDebug(boolean useDebug)
デバッグ情報を出力するかどうか[true:する/false:しない]を指定します。
|
void |
setEncode(java.lang.String enc)
読み取り元ファイルのエンコード文字列を指定します。
|
void |
setFileBreakColumn(java.lang.String fileBreakColumn)
EXCEL出力時に、ファイル名を変更するキーとなるカラム名を指定します(このカラムの値がファイル名になります)。
|
void |
setFilename(java.lang.String directory,
java.lang.String filename)
出力先ディレクトリとファイル名をセットします。
|
void |
setFontName(java.lang.String fontName)
EXCEL出力時のデフォルトフォント名を設定します。
|
void |
setFontPoint(short point)
EXCEL出力時のデフォルトフォントポイント数を設定します。
|
void |
setHeaderSequence(java.lang.String hs)
DBTableModelの出力順をセットします。
|
void |
setHyperLinkColumn(java.lang.String hyperLinkColumn)
EXCEL出力時に、Hyperlinkを作成するキーとなるカラム名と値となるカラム名を指定します。
|
void |
setOmitNames(java.lang.String clms)
書き込み対象外のカラム列を、外部(タグ)よりCSV形式で指定します。
|
void |
setPageBreakColumn(java.lang.String pageBreakColumn)
EXCEL出力時に、シート変更するキーとなるカラム名を指定します(このカラムの値がシート名になります)。
|
void |
setParam(java.util.List listParam)
パラメーターリストをセットします。
|
void |
setRecalcSheetName(java.lang.String sheet)
EXCELで、出力処理の最後にセルの計算式の再計算をさせるシート名をカンマ区切りで指定します。
|
void |
setRefFilename(java.lang.String filename)
EXCEL雛型参考ファイル名をセットします。
|
void |
setRefSheetName(java.lang.String sheetName)
EXCEL雛型参考ファイルのシート名を設定します。
|
void |
setSeparator(java.lang.String sep)
データを書き込む場合の,区切り文字をセットします。
|
void |
setSheetName(java.lang.String sheetName)
DBTableModelのデータとして読み込むときのシート名を設定します。
|
void |
setSheetOverwrite(boolean flag)
雛形のシート名を、そのまま使用する(true)か、新規、または、外部指定のシート名を使用する(false)を指定します。
|
void |
setSkipRowCount(int skipRowCount)
データの書き込み開始行番号を設定します(初期値:0)。
|
void |
setUseActiveWorkbook(boolean useActiveWorkbook)
EXCEL出力時に、セルの有効範囲を設定するかどうかを指定します。
|
void |
setUseAutoCellSize(boolean useAutoCellSize)
EXCEL出力時に、セルの幅をデータの幅に自動的に合わせるかどうかを指定します。
|
void |
setUseCellStyle(boolean useCellStyle)
EXCEL出力時に、データを書き込んだ範囲に罫線を入れるかどうかを指定します。
|
void |
setUseNumber(boolean useNumber)
行番号情報を、出力する(true)/しない(false)を指定します。
|
void |
setUseRenderer(boolean useRenderer)
書込処理でコードリソースのラベル変換を行うかどうか[true/false]を指定します。
|
protected void |
writeClass(DBTableModel table,
java.io.PrintWriter writer)
PrintWriter に DBTableModelのクラス名情報を書き込みます。
|
protected abstract void |
writeData(DBTableModel table,
java.io.PrintWriter writer)
PrintWriter に DBTableModelのテーブル情報を書き込みます。
|
abstract void |
writeDBTable()
DBTableModel から 各形式のデータを作成して,PrintWriter に書き出します。
|
abstract void |
writeDBTable(java.io.PrintWriter writer)
DBTableModel から データを作成して,PrintWriter に書き出します。
|
protected void |
writeHeader(java.io.PrintWriter writer)
PrintWriter に DBTableModelのヘッダー情報を書き込みます。
|
protected void |
writeLabel(DBTableModel table,
java.io.PrintWriter writer)
PrintWriter に DBTableModelのラベル情報を書き込みます。
|
protected void |
writeName(DBTableModel table,
java.io.PrintWriter writer)
PrintWriter に DBTableModelの項目名情報を書き込みます。
|
protected void |
writeSeparator(DBTableModel table,
java.io.PrintWriter writer)
PrintWriter に セパレーターを書き込みます。
|
protected void |
writeSize(DBTableModel table,
java.io.PrintWriter writer)
PrintWriter に DBTableModelのサイズ情報を書き込みます。
|
protected static final java.lang.String CR
protected static final int BUFFER_MIDDLE
public static final int STRING
public static final int NVAR
public static final int NUMBER
protected int numberOfColumns
protected DBTableModel table
protected DBColumn[] dbColumn
protected int[] clmNo
protected int[] dbType
protected boolean[] isKeyLbl
protected AbstractTableWriter()
| 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public abstract void writeDBTable()
writeDBTable インタフェース内 TableWriterisExcel()public abstract void writeDBTable(java.io.PrintWriter writer)
writeDBTable インタフェース内 TableWriterwriter - PrintWriterオブジェクトprotected boolean createDBColumn()
| 4.0.0.0 (2005/12/31) 外部指定のカラム名を使用 |
| 5.1.6.0 (2010/05/01) DbType の初期値を設定 |
| 6.0.1.2 (2014/08/08) カラム飛ばしできる機能を追加 |
| 6.0.2.0 (2014/09/19) EXCEL新機能対応(2回呼ばれない様にする) |
| 6.1.0.0 (2014/12/26) omitNames 属性を追加 |
| 6.2.3.0 (2015/05/01) writeKeyLabel 属性を追加 |
protected void writeHeader(java.io.PrintWriter writer)
writer - PrintWriterオブジェクト| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
protected void writeLabel(DBTableModel table, java.io.PrintWriter writer)
table - DBTableModelオブジェクトwriter - PrintWriterオブジェクト| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
| 3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定 |
| 4.0.0.0 (2005/12/31) 外部指定のカラム名を使用 |
| 6.0.1.2 (2014/08/08) カラム飛ばしできる機能を追加 |
| 6.2.3.0 (2015/05/01) writeKeyLabel 属性を追加 |
| 6.2.4.2 (2015/05/29) StringUtil#tagCut(String) をラベルに適用します。 |
protected void writeName(DBTableModel table, java.io.PrintWriter writer)
table - DBTableModelオブジェクトwriter - PrintWriterオブジェクト| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
| 3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定 |
| 6.0.1.2 (2014/08/08) カラム飛ばしできる機能を追加 |
| 6.2.3.0 (2015/05/01) writeKeyLabel 属性を追加 |
protected void writeSize(DBTableModel table, java.io.PrintWriter writer)
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)を指定 |
| 6.0.1.2 (2014/08/08) カラム飛ばしできる機能を追加 |
| 6.2.3.0 (2015/05/01) writeKeyLabel 属性を追加 |
protected void writeClass(DBTableModel table, java.io.PrintWriter writer)
table - DBTableModelオブジェクトwriter - PrintWriterオブジェクト| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
| 6.0.1.2 (2014/08/08) カラム飛ばしできる機能を追加 |
| 6.2.3.0 (2015/05/01) writeKeyLabel 属性を追加 |
protected void writeSeparator(DBTableModel table, java.io.PrintWriter writer)
table - DBTableModelオブジェクトwriter - PrintWriterオブジェクト| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
| 3.7.0.2 (2005/02/14) 行番号情報を、出力する(true)/しない(false)を指定 |
| 6.2.3.0 (2015/05/01) writeKeyLabel 属性を追加 |
protected abstract void writeData(DBTableModel table, java.io.PrintWriter writer)
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)を利用する。 |
| 5.2.1.0 (2010/10/01) このメソッドは、abstract 化します。 |
public void setDBTableModel(DBTableModel table, java.lang.String lang)
setDBTableModel インタフェース内 TableWritertable - DBTableModelオブジェクトlang - 言語コード| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
| 3.5.4.2 (2003/12/15) lang 引数も同時に設定します。 |
public DBTableModel getDBTableModel()
getDBTableModel インタフェース内 TableWriterpublic void setHeaderSequence(java.lang.String hs)
setHeaderSequence インタフェース内 TableWriterhs - 出力順 (LNSCD など)| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
public java.lang.String getHeaderSequence()
getHeaderSequence インタフェース内 TableWriterpublic void setSeparator(java.lang.String sep)
setSeparator インタフェース内 TableWritersep - 区切り文字| 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。 |
public java.lang.String getSeparator()
public void setAppend(boolean flag)
setAppend インタフェース内 TableWriterflag - [true:追加モード/false:新規モード]| 3.5.4.2 (2003/12/15) 新規追加 |
public boolean isAppend()
isAppend インタフェース内 TableWriter| 3.5.4.2 (2003/12/15) 新規追加 |
public void setSheetName(java.lang.String sheetName)
setSheetName インタフェース内 TableWritersheetName - シート名| 3.5.4.2 (2003/12/15) 新規追加 |
| 3.5.4.3 (2004/01/05) 実装廃止(TableWriter_Excel へ移動) |
| 6.0.2.0 (2014/09/19) isExcel() で判定しているので、Exception は投げない。 |
public void setRefSheetName(java.lang.String sheetName)
setRefSheetName インタフェース内 TableWritersheetName - シート名| 3.5.4.3 (2004/01/05) 新規追加 |
| 6.0.2.0 (2014/09/19) isExcel() で判定しているので、Exception は投げない。 |
public boolean isExcel()
isExcel インタフェース内 TableWriter| 3.5.4.3 (2004/01/05) 新規追加 |
public void setFilename(java.lang.String directory,
java.lang.String filename)
setFilename インタフェース内 TableWriterdirectory - 出力先ディレクトリ名filename - 出力先ファイル名| 3.5.4.3 (2004/01/05) 新規作成 |
| 6.0.2.0 (2014/09/19) ディレクトリとファイルを分けて管理します。 |
public void setRefFilename(java.lang.String filename)
setRefFilename インタフェース内 TableWriterfilename - EXCEL雛型参考ファイル名| 3.5.4.3 (2004/01/05) 新規作成 |
| 6.0.2.0 (2014/09/19) isExcel() で判定しているので、Exception は投げない。 |
public void setSheetOverwrite(boolean flag)
setSheetOverwrite インタフェース内 TableWriterflag - 元のシート名を使用するかどうか[true:使用する/false:新規、または、外部指定のシート名を使用]| 6.5.0.0 (2016/09/30) sheetOverwrite で、雛形シートの使用時に、元のシート名を使用します。 |
public void setRecalcSheetName(java.lang.String sheet)
setRecalcSheetName インタフェース内 TableWritersheet - 対象シート名をカンマ区切りで指定| 6.5.0.0 (2016/09/30) recalcSheetName で、セル内の計算式を再計算させるシート名を指定。5.9.12.1 (2016/09/09) |
public void setFontName(java.lang.String fontName)
setFontName インタフェース内 TableWriterfontName - フォント名| 3.8.5.3 (2006/08/07) 新規追加 |
| 6.0.2.0 (2014/09/19) isExcel() で判定しているので、Exception は投げない。 |
public void setFontPoint(short point)
setFontPoint インタフェース内 TableWriterpoint - フォントポイント数| 3.8.5.3 (2006/08/07) 新規追加 |
| 6.0.2.0 (2014/09/19) isExcel() で判定しているので、Exception は投げない。 |
public void setEncode(java.lang.String enc)
setEncode インタフェース内 TableWriterenc - ファイルのエンコード文字列| 3.5.4.5 (2004/01/23) 新規作成 |
protected java.lang.String getEncode()
| 3.5.4.5 (2004/01/23) 新規作成 |
public void setUseNumber(boolean useNumber)
setUseNumber インタフェース内 TableWriteruseNumber - 行番号情報を [true:出力する/false:しない]| 3.7.0.2 (2005/02/14) 新規追加 |
protected boolean isUseNumber()
| 3.7.0.2 (2005/02/14) 新規追加 |
public void setParam(java.util.List listParam)
setParam インタフェース内 TableWriterlistParam - パラメーターリスト| 4.0.0.0 (2005/01/31) 新規追加 |
public void setColumns(java.lang.String clms)
setColumns インタフェース内 TableWriterclms - 出力先ファイルのカラム列(CSV形式)| 4.0.0.0 (2005/11/30) 新規追加 |
public void setOmitNames(java.lang.String clms)
setOmitNames インタフェース内 TableWriterclms - 書き込み対象外のカラム列(CSV形式)| 6.1.0.0 (2014/12/26) omitNames 属性を追加 |
public void setSkipRowCount(int skipRowCount)
setSkipRowCount インタフェース内 TableWriterskipRowCount - 書き込み開始行番号| 5.7.9.0 (2014/08/08) 新規作成 |
| 6.0.2.0 (2014/09/19) isExcel() で判定しているので、Exception は投げない。 |
public void setUseCellStyle(boolean useCellStyle)
setUseCellStyle インタフェース内 TableWriteruseCellStyle - 罫線を入れるかどうか(true:入れる/false:入れない)setUseAutoCellSize( boolean )| 6.0.2.0 (2014/09/19) 新規作成 |
public void setUseAutoCellSize(boolean useAutoCellSize)
setUseAutoCellSize インタフェース内 TableWriteruseAutoCellSize - データの幅に自動的に合わせるかどうか(true:自動調整/false:何もしない)setUseCellStyle( boolean )| 6.0.2.0 (2014/09/19) 新規作成 |
public void setUseActiveWorkbook(boolean useActiveWorkbook)
setUseActiveWorkbook インタフェース内 TableWriteruseActiveWorkbook - セルの有効範囲を設定するかどうか(true:設定する/false:そのまま)| 6.0.2.0 (2014/09/19) 新規作成 |
public void setPageBreakColumn(java.lang.String pageBreakColumn)
setPageBreakColumn インタフェース内 TableWriterpageBreakColumn - シート変更するキーとなるカラム名を指定setFileBreakColumn( String )| 6.0.2.0 (2014/09/19) 新規作成 |
public void setFileBreakColumn(java.lang.String fileBreakColumn)
setFileBreakColumn インタフェース内 TableWriterfileBreakColumn - ファイル名を変更するキーとなるカラム名を指定setPageBreakColumn( String )| 6.0.2.0 (2014/09/19) 新規作成 |
public void setHyperLinkColumn(java.lang.String hyperLinkColumn)
setHyperLinkColumn インタフェース内 TableWriterhyperLinkColumn - Hyperlinkを作成するキーとなるカラム名と値となるカラム名を指定| 6.0.2.0 (2014/09/19) 新規作成 |
public void setAddTitleSheet(java.lang.String sheetName)
setAddTitleSheet インタフェース内 TableWritersheetName - EXCELファイルのシート名| 6.0.2.0 (2014/09/19) 新規作成 |
public void setUseRenderer(boolean useRenderer)
setUseRenderer インタフェース内 TableWriteruseRenderer - コードリソースのラベル変換を行うかどうか [true:行う/false:行わない]| 5.2.1.0 (2010/10/01) 新規作成 |
protected boolean isUseRenderer()
| 5.2.1.0 (2010/10/01) 新規作成 |
protected java.lang.String quotation(java.lang.String data)
data - 元のString文字列protected java.lang.String quotation2(java.lang.String data)
data - 元のString文字列| 5.2.2.0 (2010/11/01) 新規追加 |
protected void checkParam(java.lang.String key,
java.util.Map keysMap)
key - チェックするキー文字列(null の場合は、処理しない)keysMap - 利用可能なキーのマップ(大文字に統一)| 5.6.6.1 (2013/07/12) keys の整合性チェックを行います。 |
| 6.4.3.4 (2016/03/11) forループを、forEach メソッドに置き換えます。 |
public void setDebug(boolean useDebug)
setDebug インタフェース内 TableWriteruseDebug - デバッグ出力するか [true:する/false:しない]| 6.1.0.0 (2014/12/26) デバッグ情報を出力するかどうかを指定 |
protected boolean isDebug()
| 6.1.0.0 (2014/12/26) デバッグ情報を出力するかどうかを指定 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.