Class JsonDataRecordFormatter

All Implemented Interfaces:
Closeable, AutoCloseable, DataRecordFormatter

public class JsonDataRecordFormatter extends StructuredDataRecordFormatterSupport
フォーマット定義ファイルの内容に従い、JSONデータの読み書きを行うクラス。

本クラスはスレッドセーフを考慮した実装にはなっていないので、呼び出し元で同期化の制御を行うこと。

ディレクティブの設定

JSONデータを読み込む際は、以下のディレクティブの設定が必須となる。

  • ファイルの文字エンコーディング

  • Constructor Details

    • JsonDataRecordFormatter

      public JsonDataRecordFormatter()
      デフォルトコンストラクタ。 デフォルトでは、JsonDataConvertorSettingをコンバータとして使用する。 また、JsonParserをデータパーサーとして使用する。
  • Method Details

    • validateDirectives

      protected void validateDirectives(Map<String,Object> directive)
      ディレクティブの内容の妥当性を検証する。

      サブクラスで独自のディレクティブを使用する場合は、このメソッドをオーバーライドし、独自のディレクティブに対して妥当性検証を行うこと。

      DataRecordFormatterでは以下の仕様を満たしているかどうかの検証を行う。

      • ディレクティブの値のデータ型が正しい
      • ファイルタイプが定義されている
      • エンコーディングが定義されている
      • エンコーディングがCharset型に変換できる
      • レコード終端文字列が許容されている文字である

      妥当性検証に失敗した場合は、SyntaxErrorExceptionがスローされる。

      この実装では、以下の検証を行う。
      • エンコーディングがUTF-8であること
      Overrides:
      validateDirectives in class DataRecordFormatterSupport
      Parameters:
      directive - ディレクティブ
    • getMimeType

      public String getMimeType()
      このフォーマッタが取り扱うファイルのmime-typeを返却する。
      デフォルトではtext/plainを返却する。必要に応じサブクラスでオーバーライドすること。
      この実装では"application/json"を返却する。
      Overrides:
      getMimeType in class DataRecordFormatterSupport
      Returns:
      ファイルのmime-type