Class AppLogMapToJsonSerializer

java.lang.Object
nablarch.core.text.json.MapToJsonSerializer
nablarch.core.log.basic.AppLogMapToJsonSerializer
All Implemented Interfaces:
JsonSerializer

public class AppLogMapToJsonSerializer extends MapToJsonSerializer
applog用に拡張したMapをJSONにシリアライズするクラス。

このクラスは、Mapの値にRawJsonObjectMembersが有る場合をサポートするように MapToJsonSerializerを拡張している。

Author:
Shuji Kitamura
  • Constructor Details

    • AppLogMapToJsonSerializer

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

    • writeMember

      protected void writeMember(Writer writer, Map.Entry<?,?> member) throws IOException
      メンバーの情報を JSON 形式にフォーマットして Writer に書き出す。

      メンバーの値が RawJsonObjectMembers の場合に独自の出力処理を行い、 それ以外の値の場合は従来の出力処理を呼び出している。

      Overrides:
      writeMember in class MapToJsonSerializer
      Parameters:
      writer - 出力先の Writer
      member - 出力するメンバー
      Throws:
      IOException - 出力時にエラーが発生した場合
    • isSkip

      protected boolean isSkip(Map.Entry<?,?> member)
      指定されたメンバーが出力の条件を満たしていないことを判定する。

      従来の条件に加えて、メンバーの値がホワイトスペースのみの RawJsonObjectMembers である場合も追加している。

      Overrides:
      isSkip in class MapToJsonSerializer
      Parameters:
      member - 判定対象のメンバー
      Returns:
      出力の条件を満たしていない場合は true
    • isJsonWhitespace

      protected boolean isJsonWhitespace(Object memberValue)
      メンバーの値が JSON の空白文字だけであるかどうかを判定する。
      Parameters:
      memberValue - メンバーの値
      Returns:
      JSON の空白文字だけである場合は true