Class BasicJsonSerializationManager

java.lang.Object
nablarch.core.text.json.BasicJsonSerializationManager
All Implemented Interfaces:
JsonSerializationManager
Direct Known Subclasses:
AppLogJsonSerializationManager, JaxRsAccessLogJsonSerializationManager

@Published(tag="architect") public class BasicJsonSerializationManager extends Object implements JsonSerializationManager
JsonSerializationManagerの基本実装クラス。
Author:
Shuji Kitamura
  • Constructor Details

    • BasicJsonSerializationManager

      public BasicJsonSerializationManager()
  • Method Details

    • initialize

      public void initialize()
      デフォルト設定でシリアライザを初期化する。
      Specified by:
      initialize in interface JsonSerializationManager
    • initialize

      public void initialize(JsonSerializationSettings settings)
      設定を指定してシリアライザを初期化する。
      Specified by:
      initialize in interface JsonSerializationManager
      Parameters:
      settings - シリアライズに関する設定
    • createNullSerializer

      protected JsonSerializer createNullSerializer()
      null用のシリアライザを生成する。
      Returns:
      null用のシリアライザ
    • createDefaultSerializer

      protected JsonSerializer createDefaultSerializer()
      デフォルトのシリアライザを生成する。
      Returns:
      デフォルトのシリアライザ
    • createMemberNameSerializer

      protected JsonSerializer createMemberNameSerializer()
      objectのmember name用のシリアライザを生成する。
      Returns:
      objectのmember name用のシリアライザ
    • createSerializers

      protected List<JsonSerializer> createSerializers(JsonSerializationSettings settings)
      使用するシリアライザを生成する。 オブジェクトに対応したシリアライザかの評価は先頭から順に行われる。 デフォルトのシリアライザのみで使用する場合であっても、
      Parameters:
      settings - シリアライズに関する設定
      Returns:
      シリアライザのリスト
    • getMemberNameSerializer

      public JsonSerializer getMemberNameSerializer()
      objectのmember nameを処理するためのシリアライザを取得する。

      このメソッドの返り値となるシリアライザの出力は常にJSONのstringでなければならない。

      JSONの仕様上、objectのmember nameは、必ずstringでなければならない。 一方で、JsonSerializationManager.getStringSerializer()で取得されるシリアライザは getSerializer("")のショートカットであり、 文字列用のシリアライザを独自の実装に差し替えることができる。 もし差し替え後の実装が常にstringにシリアライズする実装になっていない場合、 JsonSerializationManager.getStringSerializer()で取得したシリアライザでmember nameを 処理すると、JSONの仕様に沿わない結果となりうる。 そのため、メンバー名用のシリアライザを取得するメソッドは明示的に JsonSerializationManager.getStringSerializer()と分けて定義している。

      Specified by:
      getMemberNameSerializer in interface JsonSerializationManager
      Returns:
      objectのmember nameを処理するためのシリアライザ
    • getStringSerializer

      public JsonSerializer getStringSerializer()
      文字列をJSONのオブジェクトに処理するためのシリアライザを取得する。

      getSerializer("")のショートカット。 各種シリアライザにて、文字列からJSONのオブジェクトにシリアライズする際に使用する。

      Specified by:
      getStringSerializer in interface JsonSerializationManager
      Returns:
      文字列をシリアライズするためのシリアライザ
    • getSerializer

      public JsonSerializer getSerializer(Object value)
      オブジェクトに対応したシリアライザを取得する。
      Specified by:
      getSerializer in interface JsonSerializationManager
      Parameters:
      value - シリアライズする値
      Returns:
      引数に渡した値をシリアライズするためのシリアライザ