Class AvroSchemaServiceManagerImpl
- java.lang.Object
-
- org.springframework.cloud.function.context.converter.avro.AvroSchemaServiceManagerImpl
-
- All Implemented Interfaces:
AvroSchemaServiceManager
public class AvroSchemaServiceManagerImpl extends Object implements AvroSchemaServiceManager
Default Concrete implementation ofAvroSchemaServiceManager. Helps to substitute the default implementation ofSchemaGeneration using Custom Avro schema generator Migrating this class from the original Spring Cloud Schema Registry project.- Since:
- 3.2.0
- Author:
- Ish Mahajan, Soby Chacko
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.commons.logging.Loglogger
-
Constructor Summary
Constructors Constructor Description AvroSchemaServiceManagerImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.avro.io.DatumReader<Object>getDatumReader(Class<?> type, org.apache.avro.Schema readerSchema, org.apache.avro.Schema writerSchema)getDatumReader.org.apache.avro.io.DatumWriter<Object>getDatumWriter(Class<?> type, org.apache.avro.Schema schema)getDatumWriter.org.apache.avro.SchemagetSchema(Class<?> clazz)getSchema.ObjectreadData(Class<? extends Object> clazz, byte[] payload, org.apache.avro.Schema readerSchema, org.apache.avro.Schema writerSchema)read data from avro type payloadDatumReader.
-
-
-
Method Detail
-
getSchema
public org.apache.avro.Schema getSchema(Class<?> clazz)
getSchema.- Specified by:
getSchemain interfaceAvroSchemaServiceManager- Parameters:
clazz-Classfor which schema generation is required- Returns:
- returns avro schema for given class
-
getDatumWriter
public org.apache.avro.io.DatumWriter<Object> getDatumWriter(Class<?> type, org.apache.avro.Schema schema)
getDatumWriter.- Specified by:
getDatumWriterin interfaceAvroSchemaServiceManager- Parameters:
type-Classof java object which needs to be serializedschema-Schemaof object which needs to be serialized- Returns:
- datum writer which can be used to write Avro payload
-
getDatumReader
public org.apache.avro.io.DatumReader<Object> getDatumReader(Class<?> type, org.apache.avro.Schema readerSchema, org.apache.avro.Schema writerSchema)
getDatumReader.- Specified by:
getDatumReaderin interfaceAvroSchemaServiceManager- Parameters:
type-Classof java object which needs to be serializedreaderSchema-Schemadefault schema of object which needs to be de-serializedwriterSchema-SchemawriterSchema provided at run time- Returns:
- datum reader which can be used to read Avro payload
-
readData
public Object readData(Class<? extends Object> clazz, byte[] payload, org.apache.avro.Schema readerSchema, org.apache.avro.Schema writerSchema) throws IOException
read data from avro type payloadDatumReader.- Specified by:
readDatain interfaceAvroSchemaServiceManager- Parameters:
clazz-Classof java object which needs to be serializedpayload-byteserialized payload of object which needs to be de-serializedreaderSchema-SchemareaderSchema of object which needs to be de-serializedwriterSchema-SchemawriterSchema used to while serializing payload- Returns:
- java object after reading Avro Payload
- Throws:
IOException- is thrown in case of error
-
-