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 (laurent.broudoux@gmail.com)
-
-
Constructor Summary
Constructors Constructor Description SchemaBuilderUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static voidaddFieldSchema(Map.Entry<String,com.fasterxml.jackson.databind.JsonNode> fieldEntry, org.apache.kafka.connect.data.SchemaBuilder builder)private static org.apache.kafka.connect.data.SchemabuildDocumentUnionSchema(com.fasterxml.jackson.databind.node.ArrayNode array)private static org.apache.kafka.connect.data.SchemafindArrayMemberSchema(com.fasterxml.jackson.databind.node.ArrayNode array)private static com.fasterxml.jackson.databind.JsonNodegetFirstArrayElement(com.fasterxml.jackson.databind.node.ArrayNode array)static org.apache.kafka.connect.data.SchemajsonNodeToSchema(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.SchemaBuilderjsonNodeToSchemaBuilder(com.fasterxml.jackson.databind.JsonNode document)private static org.apache.kafka.connect.data.SchemajsonValueToSchema(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)
-
-