Class MapToJsonSerializer

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

public class MapToJsonSerializer extends Object implements JsonSerializer
Mapオブジェクトをシリアライズするクラス。

受入れ可能なオブジェクトの型は java.util.Map。
シリアライズによりJsonのobjectとして出力する。
値がnullとなるmemberはデフォルト設定で出力しない。 出力対象とする場合は、JsonSerializationSettingsで ignoreNullValueMemberプロパティにfalseを設定する。

Author:
Shuji Kitamura
  • Field Details

    • BEGIN_OBJECT

      protected static final char BEGIN_OBJECT
      objectの開始文字
      See Also:
    • END_OBJECT

      protected static final char END_OBJECT
      objectの終了文字
      See Also:
    • NAME_SEPARATOR

      protected static final char NAME_SEPARATOR
      nameのセパレータとなる文字
      See Also:
    • VALUE_SEPARATOR

      protected static final char VALUE_SEPARATOR
      値のセパレータとなる文字
      See Also:
    • IGNORE_NULL_VALUE_MEMBER_PROPERTY

      protected static final String IGNORE_NULL_VALUE_MEMBER_PROPERTY
      値がNULLのmemberを無視するか否かのプロパティ名
      See Also:
    • DEFAULT_IGNORE_NULL_VALUE_MEMBER

      protected static final boolean DEFAULT_IGNORE_NULL_VALUE_MEMBER
      デフォルトの値がNULLのmemberを無視するか否か
      See Also:
    • manager

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

      protected JsonSerializer memberNameSerializer
      nameに使用するシリアライザ
    • isIgnoreNullValueMember

      protected boolean isIgnoreNullValueMember
      値がNULLのmemberを無視するか否か
  • Constructor Details

    • MapToJsonSerializer

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

    • initialize

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

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

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

      protected void writeMember(Writer writer, Map.Entry<?,?> member) throws IOException
      メンバーの情報を JSON 形式にフォーマットして Writer に書き出す。
      Parameters:
      writer - 出力先の Writer
      member - 出力するメンバー
      Throws:
      IOException - 出力時にエラーが発生した場合
    • isSkip

      protected boolean isSkip(Map.Entry<?,?> member)
      指定されたメンバーが出力の条件を満たしていないことを判定する。
      Parameters:
      member - 判定対象のメンバー
      Returns:
      出力の条件を満たしていない場合は true
    • isNotSupportedMemberName

      protected boolean isNotSupportedMemberName(Object memberName)
      メンバーの名前が出力サポート対象か判定する。
      Parameters:
      memberName - メンバーの名前
      Returns:
      出力サポート対象の場合は true
    • isNotSupportedMemberValue

      protected boolean isNotSupportedMemberValue(Object memberValue)
      メンバーの値が出力がサポートされていない値かどうか判定する。
      Parameters:
      memberValue - メンバーの値
      Returns:
      出力がサポートされていない値の場合は true