@InterfaceStability.Committed @InterfaceAudience.Public public interface FragmentTranscoder
An interface for transcoding sub-document fragments (as read and written by the subdocument API, eg. in MutateInBuilder
or LookupInBuilder
).
This is used internally by the bucket to encode fragments (for mutations) or decode fragments returned by the server in order to instantiate a DocumentFragment
.
Modifier and Type | Method and Description |
---|---|
<T> T |
decode(com.couchbase.client.deps.io.netty.buffer.ByteBuf encoded,
Class<? extends T> clazz)
Decode content in a
ByteBuf without releasing it. |
<T> T |
decodeWithMessage(com.couchbase.client.deps.io.netty.buffer.ByteBuf encoded,
Class<? extends T> clazz,
String transcodingErrorMessage)
Decode content in a
ByteBuf without releasing it. |
<T> com.couchbase.client.deps.io.netty.buffer.ByteBuf |
encode(T value)
Encode a value to a
ByteBuf suitable for use in the sub-document protocol. |
<T> com.couchbase.client.deps.io.netty.buffer.ByteBuf |
encodeWithMessage(T value,
String transcodingErrorMessage)
Encode a value to a
ByteBuf suitable for use in the sub-document protocol. |
<T> T decode(com.couchbase.client.deps.io.netty.buffer.ByteBuf encoded, Class<? extends T> clazz) throws TranscodingException
Decode content in a ByteBuf
without releasing it. Suitable for populating a DocumentFragment
’s content.
encoded
- the encoded fragment value (will not be released).clazz
- the target class for decoded value. Using Object.class
implies a generic decode, where dictionaries are represented by JsonObject
and arrays by JsonArray
.T
- the type of the decoded fragment.TranscodingException
- if the decoding couldn’t happen.<T> T decodeWithMessage(com.couchbase.client.deps.io.netty.buffer.ByteBuf encoded, Class<? extends T> clazz, String transcodingErrorMessage) throws TranscodingException
Decode content in a ByteBuf
without releasing it. Suitable for populating a DocumentFragment
’s content.
encoded
- the encoded fragment value (will not be released).clazz
- the target class for decoded value. Using Object.class
implies a generic decode, where dictionaries are represented by JsonObject
and arrays by JsonArray
.transcodingErrorMessage
- the error message to be used in the thrown TranscodingException
if the decoding couldn’t happen.T
- the type of the decoded fragment.TranscodingException
- if the decoding couldn’t happen.<T> com.couchbase.client.deps.io.netty.buffer.ByteBuf encode(T value) throws TranscodingException
Encode a value to a ByteBuf
suitable for use in the sub-document protocol.
value
- the value to encode.T
- the type of the fragment being encoded.ByteBuf
representation of the fragment value.TranscodingException
- if the encoding couldn’t happen.<T> com.couchbase.client.deps.io.netty.buffer.ByteBuf encodeWithMessage(T value, String transcodingErrorMessage) throws TranscodingException
Encode a value to a ByteBuf
suitable for use in the sub-document protocol.
value
- the value to encode.transcodingErrorMessage
- the error message to be used in the thrown TranscodingException
if the encoding couldn’t happen.T
- the type of the fragment being encoded.ByteBuf
representation of the fragment value.TranscodingException
- if the encoding couldn’t happen.Copyright © 2015 Couchbase, Inc.