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

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.