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 decodeByteArrayDocument
s. This transcoder makes it much easier to work with raw binary data thanBinaryTranscoder
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 overBinaryTranscoder
.- Since:
- 2.5.2
- Author:
- Michael Nitschinger
-
-
Constructor Summary
Constructors Constructor Description ByteArrayTranscoder()
-
Method Summary
All Methods Instance Methods Concrete Methods 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
-
-
-
-
Method Detail
-
doDecode
protected ByteArrayDocument doDecode(String id, com.couchbase.client.deps.io.netty.buffer.ByteBuf content, long cas, int expiry, int flags, ResponseStatus status) throws Exception
Description 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 Exception
Description 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
public ByteArrayDocument newDocument(String id, int expiry, byte[] content, long cas)
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
public Class<ByteArrayDocument> documentType()
-
-