Class ArrayTypeEncoder

java.lang.Object
org.apache.qpid.protonj2.codec.encoders.primitives.ArrayTypeEncoder
All Implemented Interfaces:
PrimitiveTypeEncoder<Object>, TypeEncoder<Object>

public final class ArrayTypeEncoder extends Object implements PrimitiveTypeEncoder<Object>
Encoder of AMQP Array types to a byte stream.
  • Constructor Details

    • ArrayTypeEncoder

      public ArrayTypeEncoder()
  • Method Details

    • isArrayType

      public boolean isArrayType()
      Specified by:
      isArrayType in interface TypeEncoder<Object>
      Returns:
      true if the type handled by this encoded is an AMQP Array type.
    • getTypeClass

      public Class<Object> getTypeClass()
      Specified by:
      getTypeClass in interface TypeEncoder<Object>
      Returns:
      the Class type that this encoder handles.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, Object value)
      Description copied from interface: TypeEncoder
      Write the full AMQP type data to the given byte buffer.

      This can consist of writing both a type constructor value and the bytes that make up the value of the type being written.

      Specified by:
      writeType in interface TypeEncoder<Object>
      Parameters:
      buffer - The buffer to write the AMQP type to
      state - The current encoder state
      value - The value that is to be written.
    • writeArray

      public void writeArray(ProtonBuffer buffer, EncoderState state, Object[] values)
      Description copied from interface: TypeEncoder
      Write an array elements of the AMQP type to the given byte buffer.

      This method writes the full Array type definition of an array of the type this encoder manages.

      Specified by:
      writeArray in interface TypeEncoder<Object>
      Parameters:
      buffer - The buffer to write the AMQP array elements to
      state - The current encoder state
      values - The array of values that is to be written.
    • writeRawArray

      public void writeRawArray(ProtonBuffer buffer, EncoderState state, Object[] values)
      Description copied from interface: TypeEncoder
      Write an array elements of the AMQP type to the given byte buffer.

      This method writes only the body portion of an AMQP array of this type, the array encoding, size and element count should be assumed to be managed by the caller.

      Specified by:
      writeRawArray in interface TypeEncoder<Object>
      Parameters:
      buffer - The buffer to write the AMQP array elements to
      state - The current encoder state
      values - The array of values that is to be written.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, boolean[] value)
      Encodes the given array into the provided buffer for transmission.
      Parameters:
      buffer - The ProtonBuffer where the array encoding should be written.
      state - The EncoderState which can be used when encoding the array elements.
      value - The array that should be encoded using this ArrayTypeEncoder.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, byte[] value)
      Encodes the given array into the provided buffer for transmission.
      Parameters:
      buffer - The ProtonBuffer where the array encoding should be written.
      state - The EncoderState which can be used when encoding the array elements.
      value - The array that should be encoded using this ArrayTypeEncoder.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, short[] value)
      Encodes the given array into the provided buffer for transmission.
      Parameters:
      buffer - The ProtonBuffer where the array encoding should be written.
      state - The EncoderState which can be used when encoding the array elements.
      value - The array that should be encoded using this ArrayTypeEncoder.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, int[] value)
      Encodes the given array into the provided buffer for transmission.
      Parameters:
      buffer - The ProtonBuffer where the array encoding should be written.
      state - The EncoderState which can be used when encoding the array elements.
      value - The array that should be encoded using this ArrayTypeEncoder.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, long[] value)
      Encodes the given array into the provided buffer for transmission.
      Parameters:
      buffer - The ProtonBuffer where the array encoding should be written.
      state - The EncoderState which can be used when encoding the array elements.
      value - The array that should be encoded using this ArrayTypeEncoder.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, float[] value)
      Encodes the given array into the provided buffer for transmission.
      Parameters:
      buffer - The ProtonBuffer where the array encoding should be written.
      state - The EncoderState which can be used when encoding the array elements.
      value - The array that should be encoded using this ArrayTypeEncoder.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, double[] value)
      Encodes the given array into the provided buffer for transmission.
      Parameters:
      buffer - The ProtonBuffer where the array encoding should be written.
      state - The EncoderState which can be used when encoding the array elements.
      value - The array that should be encoded using this ArrayTypeEncoder.
    • writeType

      public void writeType(ProtonBuffer buffer, EncoderState state, char[] value)
      Encodes the given array into the provided buffer for transmission.
      Parameters:
      buffer - The ProtonBuffer where the array encoding should be written.
      state - The EncoderState which can be used when encoding the array elements.
      value - The array that should be encoded using this ArrayTypeEncoder.