Class AbstractStructSchema<T>
java.lang.Object
org.apache.pulsar.client.impl.schema.AbstractSchema<T>
org.apache.pulsar.client.impl.schema.AbstractStructSchema<T>
- Direct Known Subclasses:
AvroBaseStructSchema
,GenericProtobufNativeSchema
,ProtobufNativeSchema
,StructSchema
minimal abstract StructSchema.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.slf4j.Logger
protected SchemaReader<T>
protected final SchemaInfo
protected SchemaInfoProvider
protected SchemaWriter<T>
Fields inherited from interface org.apache.pulsar.client.api.Schema
BOOL, BYTEBUFFER, BYTES, DATE, DOUBLE, FLOAT, INSTANT, INT16, INT32, INT64, INT8, LOCAL_DATE, LOCAL_DATE_TIME, LOCAL_TIME, STRING, TIME, TIMESTAMP
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionatSchemaVersion
(byte[] schemaVersion) Return an instance of this schema at the given version.decode
(byte[] bytes) decode
(byte[] bytes, byte[] schemaVersion) decode
(io.netty.buffer.ByteBuf byteBuf) Decode a byteBuf into an object using the schema definition and deserializer implementationdecode
(io.netty.buffer.ByteBuf byteBuf, byte[] schemaVersion) Decode a byteBuf into an object using a given version.decode
(ByteBuffer buffer) decode
(ByteBuffer buffer, byte[] schemaVersion) byte[]
protected SchemaReader<T>
protected void
setReader
(SchemaReader<T> reader) void
setSchemaInfoProvider
(SchemaInfoProvider schemaInfoProvider) protected void
setWriter
(SchemaWriter<T> writer) Methods inherited from class org.apache.pulsar.client.impl.schema.AbstractSchema
clone
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.pulsar.client.api.Schema
configureSchemaInfo, getNativeSchema, requireFetchingSchemaInfo, supportSchemaVersioning, validate
-
Field Details
-
LOG
protected static final org.slf4j.Logger LOG -
schemaInfo
-
reader
-
writer
-
schemaInfoProvider
-
-
Constructor Details
-
AbstractStructSchema
-
-
Method Details
-
encode
-
decode
-
decode
-
decode
-
decode
-
decode
Description copied from class:AbstractSchema
Decode a byteBuf into an object using the schema definition and deserializer implementationDo not modify reader/writer index of ByteBuf so, it can be reused to access correct data.
- Specified by:
decode
in classAbstractSchema<T>
- Parameters:
byteBuf
- the byte buffer to decode- Returns:
- the deserialized object
-
decode
Description copied from class:AbstractSchema
Decode a byteBuf into an object using a given version.- Overrides:
decode
in classAbstractSchema<T>
- Parameters:
byteBuf
- the byte array to decodeschemaVersion
- the schema version to decode the object. null indicates using latest version.- Returns:
- the deserialized object
-
getSchemaInfo
-
setSchemaInfoProvider
-
atSchemaVersion
Description copied from class:AbstractSchema
Return an instance of this schema at the given version.- Overrides:
atSchemaVersion
in classAbstractSchema<T>
- Parameters:
schemaVersion
- the version- Returns:
- the schema at that specific version
- Throws:
SchemaSerializationException
- in case of unknown schema version
-
setWriter
-
setReader
-
getReader
-