Class JsonSchemaData

java.lang.Object
io.debezium.transforms.outbox.JsonSchemaData

public class JsonSchemaData extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • toConnectSchema

      public org.apache.kafka.connect.data.Schema toConnectSchema(String key, com.fasterxml.jackson.databind.JsonNode node)
      Build a new connect Schema inferring structure and types from Json node.
    • toConnectSchemaWithCycles

      private org.apache.kafka.connect.data.Schema toConnectSchemaWithCycles(String key, com.fasterxml.jackson.databind.node.ArrayNode array) throws org.apache.kafka.connect.errors.ConnectException
      Throws:
      org.apache.kafka.connect.errors.ConnectException
    • getFirstArrayElement

      private com.fasterxml.jackson.databind.JsonNode getFirstArrayElement(com.fasterxml.jackson.databind.node.ArrayNode array) throws org.apache.kafka.connect.errors.ConnectException
      Throws:
      org.apache.kafka.connect.errors.ConnectException
    • hasField

      private boolean hasField(org.apache.kafka.connect.data.SchemaBuilder builder, String fieldName)
    • toConnectData

      public Object toConnectData(com.fasterxml.jackson.databind.JsonNode document, org.apache.kafka.connect.data.Schema schema)
      Convert a Jackson JsonNode into a new Struct according the schema.
      Parameters:
      document - The JSON document to convert
      schema - The Schema for this document
      Returns:
      A new connect Struct for the JSON node.
    • jsonNodeToStructInternal

      private org.apache.kafka.connect.data.Struct jsonNodeToStructInternal(com.fasterxml.jackson.databind.JsonNode document, org.apache.kafka.connect.data.Schema schema)
    • getStructFieldValue

      private Object getStructFieldValue(com.fasterxml.jackson.databind.JsonNode node, org.apache.kafka.connect.data.Schema schema)
    • getArrayAsList

      private List getArrayAsList(com.fasterxml.jackson.databind.node.ArrayNode array, org.apache.kafka.connect.data.Schema schema)