Class ProtobufSerializer
- java.lang.Object
-
- com.amazonaws.services.schemaregistry.serializers.protobuf.ProtobufSerializer
-
- All Implemented Interfaces:
GlueSchemaRegistryDataFormatSerializer
public class ProtobufSerializer extends Object implements GlueSchemaRegistryDataFormatSerializer
Protobuf serialization helper. This class is instantiated by GlueSchemaRegistryFacade to serialize Protobuf-type objects
-
-
Field Summary
Fields Modifier and Type Field Description protected @NonNull com.google.common.cache.LoadingCache<com.google.protobuf.DescriptorProtos.FileDescriptorProto,String>schemaGeneratorCache
-
Constructor Summary
Constructors Constructor Description ProtobufSerializer(GlueSchemaRegistryConfiguration configs)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetSchemaDefinition(@NonNull Object object)Get the schema definition.byte[]serialize(@NonNull Object data)Serialize the Protobuf object to bytesvoidvalidate(@NonNull Object object)voidvalidate(@NonNull String schemaDefinition, @lombok.NonNull byte[] data)
-
-
-
Field Detail
-
schemaGeneratorCache
@NonNull protected final @NonNull com.google.common.cache.LoadingCache<com.google.protobuf.DescriptorProtos.FileDescriptorProto,String> schemaGeneratorCache
-
-
Constructor Detail
-
ProtobufSerializer
public ProtobufSerializer(GlueSchemaRegistryConfiguration configs)
Constructor- Parameters:
configs- configuration elements
-
-
Method Detail
-
serialize
public byte[] serialize(@NonNull @NonNull Object data)Serialize the Protobuf object to bytes- Specified by:
serializein interfaceGlueSchemaRegistryDataFormatSerializer- Parameters:
data- the Protobuf object for serialization- Returns:
- the serialized byte array
- Throws:
AWSSchemaRegistryException- AWS Schema Registry Exception
-
getSchemaDefinition
public String getSchemaDefinition(@NonNull @NonNull Object object)
Get the schema definition.- Specified by:
getSchemaDefinitionin interfaceGlueSchemaRegistryDataFormatSerializer- Parameters:
object- object for which schema definition has to be derived- Returns:
- schema string
-
validate
public void validate(@NonNull @NonNull String schemaDefinition, @NonNull @lombok.NonNull byte[] data)- Specified by:
validatein interfaceGlueSchemaRegistryDataFormatSerializer
-
validate
public void validate(@NonNull @NonNull Object object)- Specified by:
validatein interfaceGlueSchemaRegistryDataFormatSerializer
-
-