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 (laurent.broudoux@gmail.com)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate 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) private static booleanstatic 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)
-
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)
-