パッケージ org.opengion.plugin.io
クラス TableWriter_XML
- java.lang.Object
-
- org.opengion.hayabusa.io.AbstractTableWriter
-
- org.opengion.plugin.io.TableWriter_Default
-
- org.opengion.plugin.io.TableWriter_XML
-
- すべての実装されたインタフェース:
TableWriter
public class TableWriter_XML extends TableWriter_Default
TableWriter をXML形式で出力する為の実装クラスです。 DefaultTableWriter を継承していますので,ラベル,名前,データの出力部のみ オーバーライドして,XML形式ファイルの出力機能を実現しています。 出力のXML形式は、拡張オラクル XDK形式のXMLファイルです。 オラクルXDK形式のXMLとは、下記のような ROWSET をトップとする ROW の 集まりで1レコードを表し、各ROWには、カラム名をキーとするXMLになっています。 <ROWSET> <ROW num="1"> <カラム1>値1</カラム1> ・・・ <カラムn>値n</カラムn> </ROW> ・・・ <ROW num="n"> ・・・ </ROW> <ROWSET> この形式であれば、XDK(Oracle XML Developer's Kit)を利用すれば、非常に簡単に データベースとXMLファイルとの交換が可能です。 XDK(Oracle XML Developer's Kit) 拡張XDK形式とは、ROW 以外に、SQL処理用タグ(EXEC_SQL)を持つ XML ファイルです。 これは、オラクルXDKで処理する場合、無視されますので、同様に扱うことが出来ます。 この、EXEC_SQL は、それそれの XMLデータをデータベースに登録する際に、 SQL処理を自動的に流す為の、SQL文を記載します。 この処理は、イベント毎に実行される為、その配置順は重要です。 このタグは、複数記述することも出来ますが、BODY部には、1つのSQL文のみ記述します。 <ROWSET tablename="GEXX" > <EXEC_SQL> 最初に記載して、初期処理(データクリア等)を実行させる。 delete from GEXX where YYYYY </EXEC_SQL> <MERGE_SQL> このSQL文で UPDATEして、結果が0件ならINSERTを行います。 update GEXX set AA=[AA] , BB=[BB] where CC=[CC] </MERGE_SQL> <ROW num="1"> <カラム1>値1</カラム1> ・・・ <カラムn>値n</カラムn> </ROW> ・・・ <ROW num="n"> ・・・ </ROW> <EXEC_SQL> 最後に記載して、項目の設定(整合性登録)を行う。 update GEXX set AA='XX' , BB='XX' where YYYYY </EXEC_SQL> <ROWSET>- 機能分類
- ファイル出力
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
-
-
フィールドの概要
-
クラスから継承されたフィールド org.opengion.hayabusa.io.AbstractTableWriter
BUFFER_MIDDLE, clmNo, CR, dbColumn, dbType, isKeyLbl, NUMBER, numberOfColumns, NVAR, STRING, table
-
インタフェースから継承されたフィールド org.opengion.hayabusa.io.TableWriter
CSV_SEPARATOR, TAB_SEPARATOR
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 TableWriter_XML()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 void
setParam(java.util.List<HybsEntry> listParam)
パラメーターリストをセットします。protected void
writeData(DBTableModel table, java.io.PrintWriter writer)
PrintWriter に DBTableModelのテーブル情報を書き込みます。void
writeDBTable(java.io.PrintWriter writer)
DBTableModel から データを作成して,PrintWriter に書き出します。protected void
writeHeader(java.io.PrintWriter writer)
PrintWriter に DBTableModelのヘッダー情報を書き込みます。-
クラスから継承されたメソッド org.opengion.plugin.io.TableWriter_Default
writeDBTable
-
クラスから継承されたメソッド org.opengion.hayabusa.io.AbstractTableWriter
checkParam, createDBColumn, getDBTableModel, getEncode, getHeaderSequence, getSeparator, isAppend, isDebug, isExcel, isUseNumber, isUseRenderer, quotation, quotation2, setAddTitleSheet, setAppend, setColumns, setDBTableModel, setDebug, setEncode, setFileBreakColumn, setFilename, setFontName, setFontPoint, setHeaderSequence, setHyperLinkColumn, setOmitNames, setPageBreakColumn, setRecalcSheetName, setRefFilename, setRefSheetName, setSeparator, setSheetName, setSheetOverwrite, setSkipRowCount, setUseActiveWorkbook, setUseAutoCellSize, setUseCellStyle, setUseNumber, setUseRenderer, writeClass, writeLabel, writeName, writeSeparator, writeSize
-
-
-
-
メソッドの詳細
-
writeDBTable
public void writeDBTable(java.io.PrintWriter writer)
DBTableModel から データを作成して,PrintWriter に書き出します。- 定義:
writeDBTable
インタフェース内TableWriter
- オーバーライド:
writeDBTable
クラス内TableWriter_Default
- パラメータ:
writer
- PrintWriterオブジェクト- 変更履歴:
- 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。, 3.5.4.3 (2004/01/05) 引数に PrintWriter を受け取るように変更します。
-
writeHeader
protected void writeHeader(java.io.PrintWriter writer)
PrintWriter に DBTableModelのヘッダー情報を書き込みます。 XML のヘッダーは、<?xml version='1.0' encoding='encode値'?> になります。 encoding属性には、encode値をセットします。 encoding属性に設定できる値は、"UTF-8","UTF-16","Shift_JIS" です。- オーバーライド:
writeHeader
クラス内AbstractTableWriter
- パラメータ:
writer
- PrintWriterオブジェクト- 変更履歴:
- 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。, 4.0.0.0 (2005/01/31) XML宣言部のencoding属性を、encode値をセットする。
-
writeData
protected void writeData(DBTableModel table, java.io.PrintWriter writer)
PrintWriter に DBTableModelのテーブル情報を書き込みます。 出力のXML形式は、ORACLE XDK での出力ファイルと同じ形式ですので、直接データベースに 登録することができます。- オーバーライド:
writeData
クラス内TableWriter_Default
- パラメータ:
table
- DBTableModelオブジェクトwriter
- PrintWriterオブジェクト- 変更履歴:
- 3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。, 3.8.0.1 (2005/06/17) DBTypeが NVAR の場合は、元のUnicodeに戻します。, 4.0.0.0 (2005/01/31) EXEC_SQL タグ機能の追加, 5.1.6.0 (2010/05/01) DbType の初期値(dbType)を利用する。, 5.2.1.0 (2010/10/01) useRenderer 対応, 5.6.6.1 (2013/07/12) MERGE_SQL 対応, 5.6.7.0 (2013/07/27) 改行処理の見直し, 6.0.1.2 (2014/08/08) カラム飛ばしできる機能を追加, 6.0.4.0 (2014/11/28) データ出力用のレンデラー
-
setParam
public void setParam(java.util.List<HybsEntry> listParam)
パラメーターリストをセットします。 内部は、HybsEntry クラスを持っています。 引数が、null の場合は、何もしません。- 定義:
setParam
インタフェース内TableWriter
- オーバーライド:
setParam
クラス内AbstractTableWriter
- パラメータ:
listParam
- HybsEntryリスト- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加, 5.6.6.1 (2013/07/12) MERGE_SQL 対応, 5.6.6.1 (2013/07/12) keys の整合性チェックを行います。
-
-