Class JacksonJsonHandler

java.lang.Object
com.caplin.datasource.messaging.json.JacksonJsonHandler
All Implemented Interfaces:
JsonHandler<com.fasterxml.jackson.databind.JsonNode>

public class JacksonJsonHandler extends Object implements JsonHandler<com.fasterxml.jackson.databind.JsonNode>
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
    JacksonJsonHandler(Logger logger, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.fasterxml.jackson.databind.JsonNode
    diff(com.fasterxml.jackson.databind.JsonNode source, com.fasterxml.jackson.databind.JsonNode target)
    Creates a JSON patch of the difference between two JSON tree representations
    format(com.fasterxml.jackson.databind.JsonNode jsonNode)
    Formats a JSON tree representation of an object to a JSON String.
    com.fasterxml.jackson.databind.JsonNode
    parse(String jsonText)
    Parses a JSON text into a JSON tree representation used by the underlying JSON library.
    com.fasterxml.jackson.databind.JsonNode
    patch(com.fasterxml.jackson.databind.JsonNode source, com.fasterxml.jackson.databind.JsonNode diff)
    Updates a JSON tree representation with a JSON patch
    com.fasterxml.jackson.databind.JsonNode
    toJsonTree(Object userObject)
    Serializes a plain Java object (POJO) to a JSON tree representation used by the underlying JSON library.
    toObject(com.fasterxml.jackson.databind.JsonNode jsonNode, Class userType)
    Deserializes a JSON tree representation to a plain Java object

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JacksonJsonHandler

      public JacksonJsonHandler(Logger logger, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
    • JacksonJsonHandler

      public JacksonJsonHandler(Logger logger)
    • JacksonJsonHandler

      public JacksonJsonHandler()
  • Method Details

    • toJsonTree

      public com.fasterxml.jackson.databind.JsonNode toJsonTree(Object userObject)
      Description copied from interface: JsonHandler
      Serializes a plain Java object (POJO) to a JSON tree representation used by the underlying JSON library.
      Specified by:
      toJsonTree in interface JsonHandler<com.fasterxml.jackson.databind.JsonNode>
      Parameters:
      userObject - a plain Java object
      Returns:
      a JSON tree representation of the object
    • toObject

      public Object toObject(com.fasterxml.jackson.databind.JsonNode jsonNode, Class userType) throws Exception
      Description copied from interface: JsonHandler
      Deserializes a JSON tree representation to a plain Java object
      Specified by:
      toObject in interface JsonHandler<com.fasterxml.jackson.databind.JsonNode>
      Parameters:
      jsonNode - a JSON tree representation of the object
      userType - the type of the object to deserialize into
      Returns:
      a new object of type userType
      Throws:
      Exception - if deserialization fails
    • parse

      public com.fasterxml.jackson.databind.JsonNode parse(String jsonText) throws Exception
      Description copied from interface: JsonHandler
      Parses a JSON text into a JSON tree representation used by the underlying JSON library.
      Specified by:
      parse in interface JsonHandler<com.fasterxml.jackson.databind.JsonNode>
      Parameters:
      jsonText - the JSON text to parse
      Returns:
      a JSON tree representation of the JSON text
      Throws:
      Exception - if the parsing fails
    • format

      public String format(com.fasterxml.jackson.databind.JsonNode jsonNode) throws Exception
      Description copied from interface: JsonHandler
      Formats a JSON tree representation of an object to a JSON String.
      Specified by:
      format in interface JsonHandler<com.fasterxml.jackson.databind.JsonNode>
      Parameters:
      jsonNode - a JSON tree representation of an object
      Returns:
      the JSON String
      Throws:
      Exception - if formatting fails
    • diff

      public com.fasterxml.jackson.databind.JsonNode diff(com.fasterxml.jackson.databind.JsonNode source, com.fasterxml.jackson.databind.JsonNode target)
      Description copied from interface: JsonHandler
      Creates a JSON patch of the difference between two JSON tree representations
      Specified by:
      diff in interface JsonHandler<com.fasterxml.jackson.databind.JsonNode>
      Parameters:
      source - a JSON tree representation of the source object
      target - a JSON tree representation of the target object
      Returns:
      a JSON tree representation of the JSON patch needed to patch source to create target.
    • patch

      public com.fasterxml.jackson.databind.JsonNode patch(com.fasterxml.jackson.databind.JsonNode source, com.fasterxml.jackson.databind.JsonNode diff) throws Exception
      Description copied from interface: JsonHandler
      Updates a JSON tree representation with a JSON patch
      Specified by:
      patch in interface JsonHandler<com.fasterxml.jackson.databind.JsonNode>
      Parameters:
      source - a JSON tree representation of the source object
      diff - a JSON tree representation of the JSON patch
      Returns:
      the updated, patched object
      Throws:
      Exception - if the patch fails