private static TypeInfo generateTypeInfoWorker(Schema schema, Set<Schema> seenSchemas) throws AvroSerdeException { // Avro requires NULLable types to be defined as unions of some type T // and NULL. This is annoying and we're going to hide it from the user. if(AvroSerdeUtils.isNullableType(schema)) { return generateTypeInfo( AvroSerdeUtils.getOtherTypeFromNullableType(schema), seenSchemas); } Schema.Type type = schema.getType(); if(primitiveTypeToTypeInfo.containsKey(type)) { return primitiveTypeToTypeInfo.get(type); } switch(type) { case RECORD: return generateRecordTypeInfo(schema, seenSchemas); case MAP: return generateMapTypeInfo(schema, seenSchemas); case ARRAY: return generateArrayTypeInfo(schema, seenSchemas); case UNION: return generateUnionTypeInfo(schema, seenSchemas); case ENUM: return generateEnumTypeInfo(schema); default: throw new AvroSerdeException("Do not yet support: " + schema); } }
private static TypeInfo generateTypeInfoWorker(Schema schema, Set<Schema> seenSchemas) throws AvroSerdeException { // Avro requires NULLable types to be defined as unions of some type T // and NULL. This is annoying and we're going to hide it from the user. if(AvroSerdeUtils.isNullableType(schema)) { return generateTypeInfo( AvroSerdeUtils.getOtherTypeFromNullableType(schema), seenSchemas); } Schema.Type type = schema.getType(); if(primitiveTypeToTypeInfo.containsKey(type)) { return primitiveTypeToTypeInfo.get(type); } switch(type) { case RECORD: return generateRecordTypeInfo(schema, seenSchemas); case MAP: return generateMapTypeInfo(schema, seenSchemas); case ARRAY: return generateArrayTypeInfo(schema, seenSchemas); case UNION: return generateUnionTypeInfo(schema, seenSchemas); case ENUM: return generateEnumTypeInfo(schema); default: throw new AvroSerdeException("Do not yet support: " + schema); } }
private static TypeInfo generateTypeInfoWorker(Schema schema, Set<Schema> seenSchemas) throws AvroSerdeException { // Avro requires NULLable types to be defined as unions of some type T // and NULL. This is annoying and we're going to hide it from the user. if(AvroSerdeUtils.isNullableType(schema)) { return generateTypeInfo( AvroSerdeUtils.getOtherTypeFromNullableType(schema), seenSchemas); } Schema.Type type = schema.getType(); if(primitiveTypeToTypeInfo.containsKey(type)) { return primitiveTypeToTypeInfo.get(type); } switch(type) { case RECORD: return generateRecordTypeInfo(schema, seenSchemas); case MAP: return generateMapTypeInfo(schema, seenSchemas); case ARRAY: return generateArrayTypeInfo(schema, seenSchemas); case UNION: return generateUnionTypeInfo(schema, seenSchemas); case ENUM: return generateEnumTypeInfo(schema); default: throw new AvroSerdeException("Do not yet support: " + schema); } }
private static TypeInfo generateTypeInfoWorker(Schema schema, Set<Schema> seenSchemas) throws AvroSerdeException { // Avro requires NULLable types to be defined as unions of some type T // and NULL. This is annoying and we're going to hide it from the user. if(AvroSerdeUtils.isNullableType(schema)) { return generateTypeInfo( AvroSerdeUtils.getOtherTypeFromNullableType(schema), seenSchemas); } Schema.Type type = schema.getType(); if(primitiveTypeToTypeInfo.containsKey(type)) { return primitiveTypeToTypeInfo.get(type); } switch(type) { case RECORD: return generateRecordTypeInfo(schema, seenSchemas); case MAP: return generateMapTypeInfo(schema, seenSchemas); case ARRAY: return generateArrayTypeInfo(schema, seenSchemas); case UNION: return generateUnionTypeInfo(schema, seenSchemas); case ENUM: return generateEnumTypeInfo(schema); default: throw new AvroSerdeException("Do not yet support: " + schema); } }
private static TypeInfo generateTypeInfoWorker(Schema schema, Set<Schema> seenSchemas) throws AvroSerdeException { // Avro requires NULLable types to be defined as unions of some type T // and NULL. This is annoying and we're going to hide it from the user. if(AvroSerdeUtils.isNullableType(schema)) { return generateTypeInfo( AvroSerdeUtils.getOtherTypeFromNullableType(schema), seenSchemas); } Schema.Type type = schema.getType(); if(primitiveTypeToTypeInfo.containsKey(type)) { return primitiveTypeToTypeInfo.get(type); } switch(type) { case RECORD: return generateRecordTypeInfo(schema, seenSchemas); case MAP: return generateMapTypeInfo(schema, seenSchemas); case ARRAY: return generateArrayTypeInfo(schema, seenSchemas); case UNION: return generateUnionTypeInfo(schema, seenSchemas); case ENUM: return generateEnumTypeInfo(schema); default: throw new AvroSerdeException("Do not yet support: " + schema); } }
private static TypeInfo generateTypeInfoWorker(Schema schema) throws AvroSerdeException { // Avro requires NULLable types to be defined as unions of some type T // and NULL. This is annoying and we're going to hide it from the user. if(AvroSerdeUtils.isNullableType(schema)) return generateTypeInfo(AvroSerdeUtils.getOtherTypeFromNullableType(schema)); Schema.Type type = schema.getType(); if(primitiveTypeToTypeInfo.containsKey(type)) return primitiveTypeToTypeInfo.get(type); switch(type) { case BYTES: return generateBytesTypeInfo(schema); case RECORD: return generateRecordTypeInfo(schema); case MAP: return generateMapTypeInfo(schema); case ARRAY: return generateArrayTypeInfo(schema); case UNION: return generateUnionTypeInfo(schema); case ENUM: return generateEnumTypeInfo(schema); case FIXED: return generateFixedTypeInfo(schema); default: throw new AvroSerdeException("Do not yet support: " + schema); } }