Class List0TypeDecoder
java.lang.Object
org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder<List>
org.apache.qpid.protonj2.codec.decoders.primitives.List0TypeDecoder
- All Implemented Interfaces:
ListTypeDecoder,PrimitiveTypeDecoder<List>,StreamTypeDecoder<List>,TypeDecoder<List>
public final class List0TypeDecoder
extends AbstractPrimitiveTypeDecoder<List>
implements ListTypeDecoder
Decoder of Zero sized AMQP List values from a byte stream.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintintreadCount(InputStream stream, StreamDecoderState state) Reads the number of elements contained in the encoded list from the providedInputStream.intreadCount(ProtonBuffer buffer, DecoderState state) Reads the number of elements contained in the encoded list from the providedProtonBuffer.intreadSize(InputStream stream, StreamDecoderState state) Reads the size in bytes of the encoded primitive from the givenInputStreamand returns it.intreadSize(ProtonBuffer buffer, DecoderState state) Reads the size in bytes of the encoded AMQP type from the given buffer and returns it.readValue(InputStream stream, StreamDecoderState state) Reads the next type from the given buffer and returns it.readValue(ProtonBuffer buffer, DecoderState state) Reads the next type from the given buffer and returns it.voidskipValue(InputStream stream, StreamDecoderState state) Skips over the bytes that compose the type this descriptor decodes.voidskipValue(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.AbstractPrimitiveTypeDecoder
isArrayType, isJavaPrimitive, isNull, readArrayElements, readArrayElementsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.qpid.protonj2.codec.decoders.primitives.ListTypeDecoder
getTypeClassMethods inherited from interface org.apache.qpid.protonj2.codec.decoders.PrimitiveTypeDecoder
isJavaPrimitive, isPrimitiveMethods inherited from interface org.apache.qpid.protonj2.codec.StreamTypeDecoder
getTypeClass, isArrayType, isNull, readArrayElementsMethods inherited from interface org.apache.qpid.protonj2.codec.TypeDecoder
isArrayType, isNull, readArrayElements
-
Constructor Details
-
List0TypeDecoder
public List0TypeDecoder()
-
-
Method Details
-
getTypeCode
public int getTypeCode()- Specified by:
getTypeCodein interfacePrimitiveTypeDecoder<List>- Returns:
- the AMQP Encoding Code that this primitive type decoder can read.
-
readValue
Description copied from interface:TypeDecoderReads the next type from the given buffer and returns it.- Specified by:
readValuein interfaceTypeDecoder<List>- 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.
-
readValue
Description copied from interface:StreamTypeDecoderReads the next type from the given buffer and returns it.- Specified by:
readValuein interfaceStreamTypeDecoder<List>- 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.
-
skipValue
Description copied from interface:TypeDecoderSkips 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.
- Specified by:
skipValuein interfaceTypeDecoder<List>- Parameters:
buffer- The buffer that contains the encoded type.state- The decoder state.- Throws:
DecodeException- if an error occurs while skipping the value.
-
skipValue
Description copied from interface:StreamTypeDecoderSkips 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.
- Specified by:
skipValuein interfaceStreamTypeDecoder<List>- Parameters:
stream- The stream that contains the encoded type.state- The decoder state.- Throws:
DecodeException- if an error occurs while skipping the value.
-
readSize
Description copied from interface:TypeDecoderReads the size in bytes of the encoded AMQP type from the given buffer and returns it. Since this methods advances the read position of the provided buffer the caller must either reset that based on a previous mark or they must read the primitive payload manually as the decoder would not be able to read the value as it has no retained state.- Specified by:
readSizein interfaceTypeDecoder<List>- Parameters:
buffer- the source of encoded data.state- the current state of the decoder.- Returns:
- the size in bytes of the encoded primitive value.
- Throws:
DecodeException- if an error is encountered while reading the encoded size.
-
readCount
Description copied from interface:ListTypeDecoderReads the number of elements contained in the encoded list from the providedProtonBuffer. The implementation must read the correct size encoding based on the type ofListthat thisTypeDecoderhandles.- Specified by:
readCountin interfaceListTypeDecoder- Parameters:
buffer- The buffer where the size value should be read from.state- The decoder state that is in used during this decode operation.- Returns:
- an integer containing the number of elements in the encoded
List. - Throws:
DecodeException- if an error occurs while reading the encoded element count.
-
readSize
Description copied from interface:StreamTypeDecoderReads the size in bytes of the encoded primitive from the givenInputStreamand returns it. Since this methods advances the read position of the provided stream the caller must either reset that based on a previous mark or they must read the primitive payload manually as the decoder would not be able to read the value as it has no retained state.- Specified by:
readSizein interfaceStreamTypeDecoder<List>- Parameters:
stream- the source of encoded data.state- the current state of the decoder.- Returns:
- the size in bytes of the encoded primitive value.
- Throws:
DecodeException- if an error is encountered while reading the encoded size.
-
readCount
Description copied from interface:ListTypeDecoderReads the number of elements contained in the encoded list from the providedInputStream. The implementation must read the correct size encoding based on the type ofListthat thisTypeDecoderhandles.- Specified by:
readCountin interfaceListTypeDecoder- Parameters:
stream- The stream where the size value should be read from.state- The decoder state that is in used during this decode operation.- Returns:
- an integer containing the number of elements in the encoded
List. - Throws:
DecodeException- if an error occurs while reading the encoded element count.
-