Package io.debezium.transforms.outbox
Class SchemaBuilderUtil
- java.lang.Object
-
- io.debezium.transforms.outbox.SchemaBuilderUtil
-
public class SchemaBuilderUtil extends Object
JSON payload SchemaBuilder util for Debezium Outbox Transform Event Router.- Author:
- Laurent Broudoux ([email protected])
-
-
Constructor Summary
Constructors Constructor Description SchemaBuilderUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
addFieldSchema(Map.Entry<String,com.fasterxml.jackson.databind.JsonNode> fieldEntry, org.apache.kafka.connect.data.SchemaBuilder builder)
private static org.apache.kafka.connect.data.Schema
buildDocumentUnionSchema(com.fasterxml.jackson.databind.node.ArrayNode array)
private static org.apache.kafka.connect.data.Schema
findArrayMemberSchema(com.fasterxml.jackson.databind.node.ArrayNode array)
private static com.fasterxml.jackson.databind.JsonNode
getFirstArrayElement(com.fasterxml.jackson.databind.node.ArrayNode array)
static org.apache.kafka.connect.data.Schema
jsonNodeToSchema(com.fasterxml.jackson.databind.JsonNode document)
Build a new connect Schema inferring structure and types from Json document.private static org.apache.kafka.connect.data.SchemaBuilder
jsonNodeToSchemaBuilder(com.fasterxml.jackson.databind.JsonNode document)
private static org.apache.kafka.connect.data.Schema
jsonValueToSchema(com.fasterxml.jackson.databind.JsonNode node)
-
-
-
Method Detail
-
jsonNodeToSchema
public static org.apache.kafka.connect.data.Schema jsonNodeToSchema(com.fasterxml.jackson.databind.JsonNode document)
Build a new connect Schema inferring structure and types from Json document.- Parameters:
document
- A Jackson JsonNode to extract schema from- Returns:
- A new Schema matching this Json node.
-
jsonNodeToSchemaBuilder
private static org.apache.kafka.connect.data.SchemaBuilder jsonNodeToSchemaBuilder(com.fasterxml.jackson.databind.JsonNode document)
-
addFieldSchema
private static void addFieldSchema(Map.Entry<String,com.fasterxml.jackson.databind.JsonNode> fieldEntry, org.apache.kafka.connect.data.SchemaBuilder builder)
-
jsonValueToSchema
private static org.apache.kafka.connect.data.Schema jsonValueToSchema(com.fasterxml.jackson.databind.JsonNode node)
-
getFirstArrayElement
private static 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
-
findArrayMemberSchema
private static org.apache.kafka.connect.data.Schema findArrayMemberSchema(com.fasterxml.jackson.databind.node.ArrayNode array) throws org.apache.kafka.connect.errors.ConnectException
- Throws:
org.apache.kafka.connect.errors.ConnectException
-
buildDocumentUnionSchema
private static org.apache.kafka.connect.data.Schema buildDocumentUnionSchema(com.fasterxml.jackson.databind.node.ArrayNode array)
-
-