Class ByteArrayTranscoder
java.lang.Object
com.couchbase.client.java.transcoder.AbstractTranscoder<ByteArrayDocument,byte[]>
com.couchbase.client.java.transcoder.ByteArrayTranscoder
- All Implemented Interfaces:
Transcoder<ByteArrayDocument,byte[]>
@Uncommitted @Public public class ByteArrayTranscoder extends AbstractTranscoder<ByteArrayDocument,byte[]>
A transcoder to encode and decode
ByteArrayDocument
s.
This transcoder makes it much easier to work with raw binary data than BinaryTranscoder
since
on retry and unsubscribe, buffers don't need to be freed and managed seperately. As a result, for all
but special purpose cases it should be preferred over BinaryTranscoder
.- Since:
- 2.5.2
- Author:
- Michael Nitschinger
-
Constructor Summary
Constructors Constructor Description ByteArrayTranscoder()
-
Method Summary
Modifier and Type Method Description Class<ByteArrayDocument>
documentType()
protected ByteArrayDocument
doDecode(String id, com.couchbase.client.deps.io.netty.buffer.ByteBuf content, long cas, int expiry, int flags, ResponseStatus status)
Perform the decoding of the received response.protected Tuple2<com.couchbase.client.deps.io.netty.buffer.ByteBuf,Integer>
doEncode(ByteArrayDocument document)
Perform the encoding of the request document.ByteArrayDocument
newDocument(String id, int expiry, byte[] content, long cas)
Creates a new Document with the passed in information.ByteArrayDocument
newDocument(String id, int expiry, byte[] content, long cas, MutationToken mutationToken)
Default implementation for backwards compatibility.Methods inherited from class com.couchbase.client.java.transcoder.AbstractTranscoder
decode, encode, shouldAutoReleaseOnDecode, shouldAutoReleaseOnError
-
Constructor Details
-
ByteArrayTranscoder
public ByteArrayTranscoder()
-
-
Method Details
-
doDecode
protected ByteArrayDocument doDecode(String id, com.couchbase.client.deps.io.netty.buffer.ByteBuf content, long cas, int expiry, int flags, ResponseStatus status) throws ExceptionDescription copied from class:AbstractTranscoder
Perform the decoding of the received response.- Specified by:
doDecode
in classAbstractTranscoder<ByteArrayDocument,byte[]>
- Parameters:
id
- the id of the document.content
- the encoded content of the document.cas
- the cas value of the document.expiry
- the expiration time of the document.flags
- the flags set on the document.status
- the response status.- Returns:
- the decoded document.
- Throws:
Exception
- if something goes wrong during the decode process.
-
doEncode
protected Tuple2<com.couchbase.client.deps.io.netty.buffer.ByteBuf,Integer> doEncode(ByteArrayDocument document) throws ExceptionDescription copied from class:AbstractTranscoder
Perform the encoding of the request document.- Specified by:
doEncode
in classAbstractTranscoder<ByteArrayDocument,byte[]>
- Parameters:
document
- the document to encode.- Returns:
- A tuple consisting of the encoded content and the flags to set.
- Throws:
Exception
- if something goes wrong during the encode process.
-
newDocument
Description copied from interface:Transcoder
Creates a new Document with the passed in information. Use the one with the mutation token instead (Transcoder.newDocument(String, int, Object, long, MutationToken)
).- Parameters:
id
- the id of the document.expiry
- the document expiration.content
- the document content.cas
- the documents cas value.- Returns:
- the created document.
-
newDocument
public ByteArrayDocument newDocument(String id, int expiry, byte[] content, long cas, MutationToken mutationToken)Description copied from class:AbstractTranscoder
Default implementation for backwards compatibility.- Specified by:
newDocument
in interfaceTranscoder<ByteArrayDocument,byte[]>
- Overrides:
newDocument
in classAbstractTranscoder<ByteArrayDocument,byte[]>
- Parameters:
id
- the id of the document.expiry
- the document expiration.content
- the document content.cas
- the documents cas value.mutationToken
- the documents mutation token.- Returns:
- the created document.
-
documentType
-