パッケージ 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
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>
- 機能分類
- ファイル出力
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.hayabusa.io.AbstractTableWriter
BUFFER_MIDDLE, clmNo, CR, dbColumn, dbType, isKeyLbl, NUMBER, numberOfColumns, STRING, table
インタフェースから継承されたフィールド org.opengion.hayabusa.io.TableWriter
CSV_SEPARATOR, TAB_SEPARATOR
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
パラメーターリストをセットします。protected void
writeData
(DBTableModel table, PrintWriter writer) PrintWriter に DBTableModelのテーブル情報を書き込みます。void
writeDBTable
(PrintWriter writer) DBTableModel から データを作成して、PrintWriter に書き出します。クラスから継承されたメソッド 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, writeLabel2, writeName, writeSeparator, writeSize
-
コンストラクタの詳細
-
TableWriter_XML
public TableWriter_XML()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
writeDBTable
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 を受け取るように変更します。, 8.5.4.2 (2024/01/12) writeHeader(PrintWriter) は、XML のみなので、一般から削除
-
writeData
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) データ出力用のレンデラー, 8.5.2.0 (2023/07/14) 一部の機能廃止による修正(問合・トラブル 0200010980)
-
setParam
パラメーターリストをセットします。 内部は、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 の整合性チェックを行います。
-