Class JavaTimeToJsonSerializer

java.lang.Object
nablarch.core.text.json.JavaTimeToJsonSerializer
All Implemented Interfaces:
JsonSerializer
Direct Known Subclasses:
LocalDateTimeToJsonSerializer

@Published(tag="architect") public abstract class JavaTimeToJsonSerializer extends Object implements JsonSerializer
Date and Time APIの日時を扱うクラスをシリアライズするための抽象クラス。

java.time.TemporalAccessorの実装クラスを対象としたシリアライザの共通機能を提供する。
シリアライズによりJsonのstringとして出力する。

Nablarch は Java 1.6 以上をサポート対象としている為、 1.6 の環境で動いたときにエラーにならないよう、リフレクションを用いた実装としている。

Author:
Shuji Kitamura
  • Field Details

    • datePattern

      protected String datePattern
      日時のフォーマット
    • formatter

      protected Object formatter
      日時のフォーマッタ
    • formatMethod

      protected Method formatMethod
      日時のフォーマットに使用するメソッド
    • manager

      protected final JsonSerializationManager manager
      シリアライズ管理クラス
    • stringSerializer

      protected JsonSerializer stringSerializer
      stringシリアライザ
  • Constructor Details

    • JavaTimeToJsonSerializer

      public JavaTimeToJsonSerializer(JsonSerializationManager manager)
      コンストラクタ。
      Parameters:
      manager - シリアライズ管理クラス
  • Method Details

    • initialize

      public void initialize(JsonSerializationSettings settings)
      初期処理を行う。
      Specified by:
      initialize in interface JsonSerializer
      Parameters:
      settings - シリアライザの設定
    • getDatePattern

      protected abstract String getDatePattern(JsonSerializationSettings settings)
      日時フォーマットを取得する。
      Returns:
      日時フォーマット
    • isTarget

      public boolean isTarget(Class<?> valueClass)
      このシリアライザが受入れ可能なクラスか否かを判定します。
      Specified by:
      isTarget in interface JsonSerializer
      Parameters:
      valueClass - 判定対象のクラス
      Returns:
      シリアライズ可能な場合はtrue、不可の場合はfalse
    • getValueClassName

      protected abstract String getValueClassName()
      このクラスで処理する値のクラス名を取得する。
      Returns:
      クラス名
    • serialize

      public void serialize(Writer writer, Object value) throws IOException
      シリアライズを行う。
      Specified by:
      serialize in interface JsonSerializer
      Parameters:
      writer - シリアライズ結果を書き込むWriterオブジェクト
      value - シリアライズする値
      Throws:
      IOException - Writerオブジェクトへの書き込みエラー