Class AmqpValueTypeDecoder
- java.lang.Object
-
- org.apache.qpid.protonj2.codec.decoders.AbstractDescribedTypeDecoder<AmqpValue>
-
- org.apache.qpid.protonj2.codec.decoders.messaging.AmqpValueTypeDecoder
-
- All Implemented Interfaces:
DescribedTypeDecoder<AmqpValue>
,StreamDescribedTypeDecoder<AmqpValue>
,StreamTypeDecoder<AmqpValue>
,TypeDecoder<AmqpValue>
public final class AmqpValueTypeDecoder extends AbstractDescribedTypeDecoder<AmqpValue>
Decoder of AMQP Data type values from a byte stream.
-
-
Constructor Summary
Constructors Constructor Description AmqpValueTypeDecoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UnsignedLong
getDescriptorCode()
Returns the AMQP descriptor code for the type this decoder reads.Symbol
getDescriptorSymbol()
Returns the AMQP descriptor symbol for the type this decoder reads.Class<AmqpValue>
getTypeClass()
AmqpValue[]
readArrayElements(InputStream stream, StreamDecoderState state, int count)
Reads a series of this type that have been encoded into the body of an Array type.AmqpValue[]
readArrayElements(ProtonBuffer buffer, DecoderState state, int count)
Reads a series of this type that have been encoded into the body of an Array type.AmqpValue
readValue(InputStream stream, StreamDecoderState state)
Reads the next type from the given buffer and returns it.AmqpValue<?>
readValue(ProtonBuffer buffer, DecoderState state)
Reads the next type from the given buffer and returns it.void
skipValue(InputStream stream, StreamDecoderState state)
Skips over the bytes that compose the type this descriptor decodes.void
skipValue(ProtonBuffer buffer, DecoderState state)
Skips over the bytes that compose the type this descriptor decodes.-
Methods inherited from class org.apache.qpid.protonj2.codec.decoders.AbstractDescribedTypeDecoder
checkIsExpectedType, checkIsExpectedType, checkIsExpectedTypeAndCast, checkIsExpectedTypeAndCast, isArrayType, toString
-
-
-
-
Method Detail
-
getDescriptorCode
public UnsignedLong getDescriptorCode()
Description copied from interface:DescribedTypeDecoder
Returns the AMQP descriptor code for the type this decoder reads.- Returns:
- an unsigned long descriptor code value.
-
getDescriptorSymbol
public Symbol getDescriptorSymbol()
Description copied from interface:DescribedTypeDecoder
Returns the AMQP descriptor symbol for the type this decoder reads.- Returns:
- an symbol descriptor code value.
-
readValue
public AmqpValue<?> readValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
Description copied from interface:TypeDecoder
Reads the next type from the given buffer and returns it.- Parameters:
buffer
- the source of encoded data.state
- the current state of the decoder.- Returns:
- the next instance in the stream that this decoder handles.
- Throws:
DecodeException
- if an error is encountered while reading the next value.
-
readArrayElements
public AmqpValue[] readArrayElements(ProtonBuffer buffer, DecoderState state, int count) throws DecodeException
Description copied from interface:TypeDecoder
Reads a series of this type that have been encoded into the body of an Array type.When encoded into an array the values are encoded in series following the identifier for the type, this method is given a count of the number of instances that are encoded and should read each in succession and returning them in a new array.
- Parameters:
buffer
- the source of encoded data.state
- the current state of the decoder.count
- the number of array elements encoded in the buffer.- Returns:
- the next instance in the stream that this decoder handles.
- Throws:
DecodeException
- if an error is encountered while reading the next value.
-
skipValue
public void skipValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
Description copied from interface:TypeDecoder
Skips over the bytes that compose the type this descriptor decodes.Skipping values can be used when the type is not used or processed by the application doing the decoding. An example might be an AMQP message decoder that only needs to decode certain parts of the message and not others.
- Parameters:
buffer
- The buffer that contains the encoded type.state
- The decoder state.- Throws:
DecodeException
- if an error occurs while skipping the value.
-
readValue
public AmqpValue readValue(InputStream stream, StreamDecoderState state) throws DecodeException
Description copied from interface:StreamTypeDecoder
Reads the next type from the given buffer and returns it.- Parameters:
stream
- the source of encoded data.state
- the current state of the decoder.- Returns:
- the next instance in the stream that this decoder handles.
- Throws:
DecodeException
- if an error is encountered while reading the next value.
-
readArrayElements
public AmqpValue[] readArrayElements(InputStream stream, StreamDecoderState state, int count) throws DecodeException
Description copied from interface:StreamTypeDecoder
Reads a series of this type that have been encoded into the body of an Array type.When encoded into an array the values are encoded in series following the identifier for the type, this method is given a count of the number of instances that are encoded and should read each in succession and returning them in a new array.
- Parameters:
stream
- the source of encoded data.state
- the current state of the decoder.count
- the number of array elements encoded in the buffer.- Returns:
- the next instance in the stream that this decoder handles.
- Throws:
DecodeException
- if an error is encountered while reading the next value.
-
skipValue
public void skipValue(InputStream stream, StreamDecoderState state) throws DecodeException
Description copied from interface:StreamTypeDecoder
Skips over the bytes that compose the type this descriptor decodes.Skipping values can be used when the type is not used or processed by the application doing the decoding. An example might be an AMQP message decoder that only needs to decode certain parts of the message and not others.
- Parameters:
stream
- The stream that contains the encoded type.state
- The decoder state.- Throws:
DecodeException
- if an error occurs while skipping the value.
-
-