@InterfaceStability.Experimental @InterfaceAudience.Public public interface FragmentTranscoder
An interface for transcoding sub-document fragments (as found in and used by DocumentFragment.fragment()).
This is used internally by the bucket to encode fragments (for mutations) or decode fragments returned by the server (eg. during a Bucket.getIn(String, String, Class)).
| 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 (usually from a
DocumentFragment) 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 (usually from a
DocumentFragment) 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 (usually from a DocumentFragment) 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 (usually from a DocumentFragment) 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.