パッケージ 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) 新規作成
  機能分類
    ファイル出力
  バージョン
    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_JSON()` | デフォルトコンストラクター

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `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 の整合性チェックを行います。