private boolean isInstanceOfAvroSchemaTypeForSimpleSchema()

in java/avro-converter/src/main/java/com/microsoft/azure/schemaregistry/kafka/connect/avro/AvroConverterUtils.java [1323:1352]


    private boolean isInstanceOfAvroSchemaTypeForSimpleSchema(Schema fieldSchema, Object value,
                                                              int index) {
        if (isEnumSchema(fieldSchema)) {
            String paramName = AVRO_TYPE_ENUM;
            String enumSchemaName = fieldSchema.parameters().get(paramName);
            if (value instanceof GenericData.EnumSymbol) {
                return ((GenericData.EnumSymbol) value).getSchema().getFullName().equals(enumSchemaName);
            } else {
                return value.getClass().getName().equals(enumSchemaName);
            }
        }
        List<Class> classes = SIMPLE_AVRO_SCHEMA_TYPES.get(fieldSchema.type());
        if (classes == null) {
            return false;
        }
        for (Class type : classes) {
            if (type.isInstance(value)) {
                if (isFixedSchema(fieldSchema)) {
                    if (fixedValueSizeMatch(fieldSchema, value,
                        Integer.parseInt(fieldSchema.parameters().get(CONNECT_AVRO_FIXED_SIZE_PROP)),
                        index)) {
                        return true;
                    }
                } else {
                    return true;
                }
            }
        }
        return false;
    }