パッケージ 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,
  • コンストラクタの詳細

    • TableWriter_XML

      public TableWriter_XML()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • writeDBTable

      public void writeDBTable(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 を受け取るように変更します。, 8.5.4.2 (2024/01/12) writeHeader(PrintWriter) は、XML のみなので、一般から削除
    • writeData

      protected void writeData(DBTableModel table, 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) データ出力用のレンデラー, 8.5.2.0 (2023/07/14) 一部の機能廃止による修正(問合・トラブル 0200010980)
    • setParam

      public void setParam(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 の整合性チェックを行います。