Package io.debezium.transforms.outbox
Class SchemaBuilderUtil
java.lang.Object
io.debezium.transforms.outbox.SchemaBuilderUtil
JSON payload SchemaBuilder util for Debezium Outbox Transform Event Router.
- Author:
- Laurent Broudoux ([email protected])
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate 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) private static boolean
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)
-
Constructor Details
-
SchemaBuilderUtil
public SchemaBuilderUtil()
-
-
Method Details
-
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
-
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) -
hasField
private static boolean hasField(org.apache.kafka.connect.data.SchemaBuilder builder, String fieldName)
-