パッケージ 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
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":"値1" , "カラム2":"値2" , … } , 2レコード目
・・・・
{ "カラム1":"値1" , "カラム2":"値2" , … } Nレコード目
]
writeTableParamタグで、key="JsonName" value="パラメータ名" を指定すると、
JSON形式で、配列をオブジェクトとしてまとめるパラメータを指定する事が可能です。
{
パラメータ名:[
{ "カラム1":"値1" , "カラム2":"値2" , … } , 1レコード目
{ "カラム1":"値1" , "カラム2":"値2" , … } , 2レコード目
・・・・
{ "カラム1":"値1" , "カラム2":"値2" , … } Nレコード目
]
}
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
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明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_JSON
public TableWriter_JSON()デフォルトコンストラクター- 変更履歴:
- 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オブジェクト
-
writeData
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) カラム飛ばしできる機能を追加, 8.5.6.1 (2024/03/29) PMD 7.0.0 Finding duplicated code with CPD
-
setParam
パラメーターリストをセットします。 JSONのパラメータ名を指定します。 引数が、null の場合は、何もしません。- 定義:
setParam
インタフェース内TableWriter
- オーバーライド:
setParam
クラス内AbstractTableWriter
- パラメータ:
listParam
- HybsEntryリスト- 変更履歴:
- 5.6.0.3 (2012/01/24) JSONのパラメータ名を指定します。, 5.6.6.1 (2013/07/12) keys の整合性チェックを行います。
-