private RecordClassDescriptor buildDescriptor()

in timebase-kafka-connector/src/main/java/deltix/kafka/connect/RawMessageSerializer.java [353:382]


    private RecordClassDescriptor buildDescriptor(Schema schema) {
        validateSchema(schema);

        List<DataField> fields = new ArrayList<>();
        if (tbOffsetField != null) {
            DataField offsetDataField = new NonStaticDataField(tbOffsetField, tbOffsetField, new IntegerDataType(ENCODING_INT64, false));
            offsetDataField.setDescription("Kafka Record Offset");
            fields.add(offsetDataField);
        }

        if (tbKeyField != null) {
            DataField keyDataField = new NonStaticDataField(tbKeyField, tbKeyField, VarcharDataType.getDefaultInstance());
            keyDataField.setDescription("Kafka Record Key");
            fields.add(keyDataField);
        }

        if (tbTombstoneField != null) {
            DataField tombstoneField = new NonStaticDataField(tbTombstoneField, tbTombstoneField, BooleanDataType.getDefaultInstance());
            tombstoneField.setDescription("Is Kafka Tombstone Record");
            fields.add(tombstoneField);
        }

        for (Field field : schema.fields()) {
            String fieldName = field.name();
            boolean flatten = flattenFields != null && flattenFields.contains(fieldName);
            addDataField(fieldName, field.schema(), fields, flatten);
        }

        return new RecordClassDescriptor(schema.name(), schema.name(), schema.doc(), false, null, fields.toArray(new DataField[0]));
    }