パッケージ org.opengion.plugin.io

# クラス TableWriter_JSON

java.lang.Object
org.opengion.hayabusa.io.AbstractTableWriter
org.opengion.plugin.io.TableWriter_Default
org.opengion.plugin.io.TableWriter_JSON

すべての実装されたインタフェース:
  `TableWriter`

public class TableWriter_JSON extends TableWriter_Default
TableWriter をJSON形式で出力する為の実装クラスです。 DefaultTableWriter を継承していますので、ラベル、名前、データの出力部のみ オーバーライドして、JSON形式ファイルの出力機能を実現しています。 出力のJSON形式(JavaScript Object Notation)は、JavaScriptにおける オブジェクトの表記法をベースとした軽量なデータ記述言語です。 このクラスでは、基本的にはすべてを文字列として処理しますので、 数字や、true,false も、ダブルコーテーションでくくることになります。 ただし、null の場合は、null 表記になりますが、通常 空文字 "" になる場合もあります。 1レコードのみの場合でも、配列要素として取り扱います。 UTF-8 でエンコードし、MIMEタイプはapplication/json、拡張子はjson とするのが一般的です。 [ { "カラム1":"値1" , "カラム2":"値2" , … } , １レコード目 { "カラム1":"値1" , "カラム2":"値2" , … } , ２レコード目 ・・・・ { "カラム1":"値1" , "カラム2":"値2" , … } Ｎレコード目 ] writeTableParamタグで、key="JsonName" value="パラメータ名" を指定すると、 JSON形式で、配列をオブジェクトとしてまとめるパラメータを指定する事が可能です。 { パラメータ名:[ { "カラム1":"値1" , "カラム2":"値2" , … } , １レコード目 { "カラム1":"値1" , "カラム2":"値2" , … } , ２レコード目 ・・・・ { "カラム1":"値1" , "カラム2":"値2" , … } Ｎレコード目 ] } writeTableParamタグで、key="LowerCase" value="true" を指定すると、 すべてのカラムを小文字で出力します。（データ受信側の都合を配慮） 初期値は、false なので、基本的に大文字になります。

変更履歴:
  5.6.0.3 (2012/01/24) 新規作成
機能分類
  ファイル出力
導入されたバージョン:
  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`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `TableWriter_JSON()`
  デフォルトコンストラクター

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `void`
  `setParam(List<HybsEntry> listParam)`
  パラメーターリストをセットします。
  `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, writeHeader, writeLabel, writeLabel2, writeName, writeSeparator, writeSize`

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## コンストラクタの詳細

  - ### TableWriter_JSON

    public TableWriter_JSON()
    デフォルトコンストラクター
    変更履歴:
      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オブジェクト

  - ### writeData

    protected void writeData(DBTableModel table, PrintWriter writer)
    PrintWriter に DBTableModelのテーブル情報を書き込みます。 出力のXML形式は、ORACLE XDK での出力ファイルと同じ形式ですので、直接データベースに 登録することができます。
    オーバーライド:
      `writeData` クラス内 `TableWriter_Default`
    パラメータ:
      `table` - DBTableModelオブジェクト
      `writer` - PrintWriterオブジェクト
    変更履歴:
      5.6.0.3 (2012/01/24) JSON形式のフォーマットを作成します。, 5.6.1.2 (2013/02/22) jsonName もダブルクオートで囲う。, 6.0.1.2 (2014/08/08) カラム飛ばしできる機能を追加

  - ### setParam

    public void setParam(List<HybsEntry> listParam)
    パラメーターリストをセットします。 JSONのパラメータ名を指定します。 引数が、null の場合は、何もしません。
    定義:
      `setParam` インタフェース内 `TableWriter`
    オーバーライド:
      `setParam` クラス内 `AbstractTableWriter`
    パラメータ:
      `listParam` - HybsEntryリスト
    変更履歴:
      5.6.0.3 (2012/01/24) JSONのパラメータ名を指定します。, 5.6.6.1 (2013/07/12) keys の整合性チェックを行います。