Interface FragmentTranscoder

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method 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.
    • Method Detail

      • decode

        <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.
        Type Parameters:
        T - the type of the decoded fragment.
        Parameters:
        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.
        Returns:
        a decoded fragment.
        Throws:
        TranscodingException - if the decoding couldn't happen.
      • decodeWithMessage

        <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.
        Type Parameters:
        T - the type of the decoded fragment.
        Parameters:
        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.
        Returns:
        a decoded fragment.
        Throws:
        TranscodingException - if the decoding couldn't happen.
      • encode

        <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.
        Type Parameters:
        T - the type of the fragment being encoded.
        Parameters:
        value - the value to encode.
        Returns:
        a ByteBuf representation of the fragment value.
        Throws:
        TranscodingException - if the encoding couldn't happen.
      • encodeWithMessage

        <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.
        Type Parameters:
        T - the type of the fragment being encoded.
        Parameters:
        value - the value to encode.
        transcodingErrorMessage - the error message to be used in the thrown TranscodingException if the encoding couldn't happen.
        Returns:
        a ByteBuf representation of the fragment value.
        Throws:
        TranscodingException - if the encoding couldn't happen.