Package org.apache.qpid.protonj2.codec
Interface Decoder
- All Known Implementing Classes:
ProtonDecoder
public interface Decoder
Decode AMQP types from a byte stream read from a
ProtonBuffer instance.-
Method Summary
Modifier and TypeMethodDescriptionReturn a singletonDecoderStateinstance that is meant to be shared within single threaded decoder interactions.Creates a newDecoderStateinstance that can be used when interacting with the Decoder.TypeDecoder<?>peekNextTypeDecoder(ProtonBuffer buffer, DecoderState state) Peeks ahead in the givenProtonBufferinstance and returns aTypeDecoderthat can read the next encoded AMQP type from the buffer's bytes.readBinary(ProtonBuffer buffer, DecoderState state) Reads an encodedBinaryvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readBinaryAsBuffer(ProtonBuffer buffer, DecoderState state) Reads an encodedBinaryvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readBoolean(ProtonBuffer buffer, DecoderState state) Reads an encodedBooleanvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.booleanreadBoolean(ProtonBuffer buffer, DecoderState state, boolean defaultValue) Reads an encodedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readByte(ProtonBuffer buffer, DecoderState state) Reads an encodedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type.bytereadByte(ProtonBuffer buffer, DecoderState state, byte defaultValue) Reads an encodedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readCharacter(ProtonBuffer buffer, DecoderState state) Reads an encodedCharactervalue from the givenProtonBufferassuming that the next value in the byte stream is that type.charreadCharacter(ProtonBuffer buffer, DecoderState state, char defaultValue) Reads an encodedCharactervalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readDecimal128(ProtonBuffer buffer, DecoderState state) Reads an encodedDecimal128value from the givenProtonBufferassuming that the next value in the byte stream is that type.readDecimal32(ProtonBuffer buffer, DecoderState state) Reads an encodedDecimal32value from the givenProtonBufferassuming that the next value in the byte stream is that type.readDecimal64(ProtonBuffer buffer, DecoderState state) Reads an encodedDecimal64value from the givenProtonBufferassuming that the next value in the byte stream is that type.readDeliveryTag(ProtonBuffer buffer, DecoderState state) This method expects to read aBinaryencoded type from the provided buffer and constructs aDeliveryTagtype that wraps the bytes encoded.readDouble(ProtonBuffer buffer, DecoderState state) Reads an encodedDoublevalue from the givenProtonBufferassuming that the next value in the byte stream is that type.doublereadDouble(ProtonBuffer buffer, DecoderState state, double defaultValue) Reads an encodedDoublevalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readFloat(ProtonBuffer buffer, DecoderState state) Reads an encodedFloatvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.floatreadFloat(ProtonBuffer buffer, DecoderState state, float defaultValue) Reads an encodedFloatvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readInteger(ProtonBuffer buffer, DecoderState state) Reads an encodedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type.intreadInteger(ProtonBuffer buffer, DecoderState state, int defaultValue) Reads an encodedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type.<V> List<V>readList(ProtonBuffer buffer, DecoderState state) Reads an encodedListvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readLong(ProtonBuffer buffer, DecoderState state) Reads an encodedLongvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.longreadLong(ProtonBuffer buffer, DecoderState state, long defaultValue) Reads an encodedLongvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.<K,V> Map<K, V> readMap(ProtonBuffer buffer, DecoderState state) Reads an encodedMapvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.<T> T[]readMultiple(ProtonBuffer buffer, DecoderState state, Class<T> clazz) Reads one or more encoded values from the givenProtonBufferan return it as an array ofObjectinstances which the caller must then interpret.TypeDecoder<?>readNextTypeDecoder(ProtonBuffer buffer, DecoderState state) Reads from the givenProtonBufferinstance and returns aTypeDecoderthat can read the next encoded AMQP type from the buffer's bytes.readObject(ProtonBuffer buffer, DecoderState state) Reads an encoded value from the givenProtonBufferan return it as anObjectwhich the caller must then interpret.<T> TreadObject(ProtonBuffer buffer, DecoderState state, Class<T> clazz) Reads an encoded value from the givenProtonBufferan return it as anObjectwhich the caller must then interpret.readShort(ProtonBuffer buffer, DecoderState state) Reads an encodedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.shortreadShort(ProtonBuffer buffer, DecoderState state, short defaultValue) Reads an encodedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readString(ProtonBuffer buffer, DecoderState state) Reads an encodedStringvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readSymbol(ProtonBuffer buffer, DecoderState state) Reads an encodedSymbolvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readSymbol(ProtonBuffer buffer, DecoderState state, String defaultValue) Reads an encodedStringvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readTimestamp(ProtonBuffer buffer, DecoderState state) Reads an encoded AMQP time stamp value from the givenProtonBufferassuming that the next value in the byte stream is that type.longreadTimestamp(ProtonBuffer buffer, DecoderState state, long defaultValue) Reads an encoded AMQP time stamp value from the givenProtonBufferassuming that the next value in the byte stream is that type.readUnsignedByte(ProtonBuffer buffer, DecoderState state) Reads an encodedUnsignedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type.bytereadUnsignedByte(ProtonBuffer buffer, DecoderState state, byte defaultValue) Reads an encodedUnsignedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readUnsignedInteger(ProtonBuffer buffer, DecoderState state) Reads an encodedUnsignedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type.intreadUnsignedInteger(ProtonBuffer buffer, DecoderState state, int defaultValue) Reads an encodedUnsignedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type.longreadUnsignedInteger(ProtonBuffer buffer, DecoderState state, long defaultValue) Reads an encodedUnsignedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readUnsignedLong(ProtonBuffer buffer, DecoderState state) Reads an encodedUnsignedLongvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.longreadUnsignedLong(ProtonBuffer buffer, DecoderState state, long defaultValue) Reads an encodedUnsignedLongvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readUnsignedShort(ProtonBuffer buffer, DecoderState state) Reads an encodedUnsignedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.intreadUnsignedShort(ProtonBuffer buffer, DecoderState state, int defaultValue) Reads an encodedUnsignedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.shortreadUnsignedShort(ProtonBuffer buffer, DecoderState state, short defaultValue) Reads an encodedUnsignedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.readUUID(ProtonBuffer buffer, DecoderState state) Reads an encodedUUIDvalue from the givenProtonBufferassuming that the next value in the byte stream is that type.<V> DecoderregisterDescribedTypeDecoder(DescribedTypeDecoder<V> decoder) Allows customDescribedTypeDecoderinstances to be registered with thisDecoderwhich will be used if the described type encoding is encountered during decode operations.
-
Method Details
-
newDecoderState
DecoderState newDecoderState()Creates a newDecoderStateinstance that can be used when interacting with the Decoder. For decoding that occurs on more than one thread while sharing a singleDecoderinstance a different state object per thread is required as theDecoderStateobject can retain some state information during the decode process that could be corrupted if more than one thread were to share a single instance. For single threaded decoding work theDecoderoffers a utility cachedDecoderStateAPI that will return the same instance on each call which can reduce allocation overhead and make using theDecodersimpler.- Returns:
- a newly constructed
EncoderStateinstance.
-
getCachedDecoderState
DecoderState getCachedDecoderState()Return a singletonDecoderStateinstance that is meant to be shared within single threaded decoder interactions. If more than one thread makes use of this cachedDecoderStatethe results of any decoding done using this state object is not guaranteed to be correct. The returned instance will have its reset method called to ensure that any previously stored state data is cleared before the next use.- Returns:
- a cached
DecoderStatelinked to this Decoder instance that has been reset.
-
readBoolean
Reads an encodedBooleanvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readBoolean
boolean readBoolean(ProtonBuffer buffer, DecoderState state, boolean defaultValue) throws DecodeException Reads an encodedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readByte
Reads an encodedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readByte
Reads an encodedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedByte
Reads an encodedUnsignedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedByte
byte readUnsignedByte(ProtonBuffer buffer, DecoderState state, byte defaultValue) throws DecodeException Reads an encodedUnsignedBytevalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readCharacter
Reads an encodedCharactervalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readCharacter
char readCharacter(ProtonBuffer buffer, DecoderState state, char defaultValue) throws DecodeException Reads an encodedCharactervalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readDecimal32
Reads an encodedDecimal32value from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readDecimal64
Reads an encodedDecimal64value from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readDecimal128
Reads an encodedDecimal128value from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readShort
Reads an encodedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readShort
Reads an encodedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedShort
Reads an encodedUnsignedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedShort
short readUnsignedShort(ProtonBuffer buffer, DecoderState state, short defaultValue) throws DecodeException Reads an encodedUnsignedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedShort
int readUnsignedShort(ProtonBuffer buffer, DecoderState state, int defaultValue) throws DecodeException Reads an encodedUnsignedShortvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readInteger
Reads an encodedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readInteger
Reads an encodedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedInteger
Reads an encodedUnsignedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedInteger
int readUnsignedInteger(ProtonBuffer buffer, DecoderState state, int defaultValue) throws DecodeException Reads an encodedUnsignedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedInteger
long readUnsignedInteger(ProtonBuffer buffer, DecoderState state, long defaultValue) throws DecodeException Reads an encodedUnsignedIntegervalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readLong
Reads an encodedLongvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readLong
Reads an encodedLongvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedLong
Reads an encodedUnsignedLongvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUnsignedLong
long readUnsignedLong(ProtonBuffer buffer, DecoderState state, long defaultValue) throws DecodeException Reads an encodedUnsignedLongvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readFloat
Reads an encodedFloatvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readFloat
Reads an encodedFloatvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readDouble
Reads an encodedDoublevalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readDouble
double readDouble(ProtonBuffer buffer, DecoderState state, double defaultValue) throws DecodeException Reads an encodedDoublevalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readBinary
Reads an encodedBinaryvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position the and reset the input to make a further read attempt.The resulting
Binaryinstance will contain a read-only view of the decoded bytes and any calls to access the underlying buffer will return a read-onlyProtonBuffer.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readBinaryAsBuffer
Reads an encodedBinaryvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.The resulting
ProtonBufferwill be a read-only view of the bytes read and to maximize performance the incoming buffer being decoded should also be read only otherwise the result is likely to be a deep copy of the source bytes.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source and returned in a
ProtonBuffer. - Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readDeliveryTag
This method expects to read aBinaryencoded type from the provided buffer and constructs aDeliveryTagtype that wraps the bytes encoded. If the encoding is a NULL AMQP type then this method returnsnull.- Parameters:
buffer- The buffer to read a Binary encoded value fromstate- The current encoding state.- Returns:
- a new DeliveryTag instance or null if an AMQP NULL encoding is found.
- Throws:
DecodeException- if an error occurs while decoding theDeliveryTaginstance.
-
readString
Reads an encodedStringvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readSymbol
Reads an encodedSymbolvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readSymbol
String readSymbol(ProtonBuffer buffer, DecoderState state, String defaultValue) throws DecodeException Reads an encodedStringvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readTimestamp
Reads an encoded AMQP time stamp value from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source and return a
Longwith the time value. - Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readTimestamp
long readTimestamp(ProtonBuffer buffer, DecoderState state, long defaultValue) throws DecodeException Reads an encoded AMQP time stamp value from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.defaultValue- A default value to return if the next encoded value is a Null encoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readUUID
Reads an encodedUUIDvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readObject
Reads an encoded value from the givenProtonBufferan return it as anObjectwhich the caller must then interpret.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not able to be decoded.
-
readObject
Reads an encoded value from the givenProtonBufferan return it as anObjectwhich the caller must then interpret.- Type Parameters:
T- the type that will be used when casting and returning the decoded value.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.clazz- TheClasstype that should be used to cast the returned value.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not able to be decoded.
-
readMultiple
<T> T[] readMultiple(ProtonBuffer buffer, DecoderState state, Class<T> clazz) throws DecodeException Reads one or more encoded values from the givenProtonBufferan return it as an array ofObjectinstances which the caller must then interpret.- Type Parameters:
T- the type that will be used when casting and returning the decoded value.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.clazz- TheClasstype that should be used to cast the returned array.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not able to be decoded.
-
readMap
Reads an encodedMapvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Type Parameters:
K- The key type for the map that is being read.V- The value type for the map that is being read.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readList
Reads an encodedListvalue from the givenProtonBufferassuming that the next value in the byte stream is that type. The operation fails if the next encoded type is not what was expected. If the caller wishes to recover from failed decode attempt they should make a note of the current read position and reset the input to make a further read attempt.- Type Parameters:
V- The value type for the list being read.- Parameters:
buffer- TheProtonBufferwhere the read operation takes place.state- TheDecoderStatethat the decoder can use when decoding.- Returns:
- the value read from the provided byte source.
- Throws:
DecodeException- if the value fails to decode is not of the expected type,
-
readNextTypeDecoder
Reads from the givenProtonBufferinstance and returns aTypeDecoderthat can read the next encoded AMQP type from the buffer's bytes. If an error occurs attempting to read and determine the next type decoder anDecodeExceptionis thrown.- Parameters:
buffer- The buffer to read from to determine the nextTypeDecoderneeded.state- TheDecoderStatevalue that can be used for intermediate decoding tasks.- Returns:
- a
TypeDecoderinstance that can read the next type in the buffer. - Throws:
DecodeException- if an error occurs while reading the next type decoder.
-
peekNextTypeDecoder
Peeks ahead in the givenProtonBufferinstance and returns aTypeDecoderthat can read the next encoded AMQP type from the buffer's bytes. If an error occurs attempting to read and determine the next type decoder anDecodeExceptionis thrown. The underlying buffer is not modified as a result of the peek operation and the returnedTypeDecoderwill fail to properly read the type until the encoding bytes are read.- Parameters:
buffer- The buffer to read from to determine the nextTypeDecoderneeded.state- TheDecoderStatevalue that can be used for intermediate decoding tasks.- Returns:
- a
TypeDecoderinstance that can provide insight into the next type in the buffer. - Throws:
DecodeException- if an error occurs while peeking ahead for the next type decoder.
-
registerDescribedTypeDecoder
Allows customDescribedTypeDecoderinstances to be registered with thisDecoderwhich will be used if the described type encoding is encountered during decode operations.- Type Parameters:
V- The type that the decoder reads.- Parameters:
decoder- ADescribedTypeDecoderinstance to be registered with thisDecoder- Returns:
- this
Decoderinstance.
-