Class AbstractArrayTypeDecoder
java.lang.Object
org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder<Object>
org.apache.qpid.protonj2.codec.decoders.primitives.AbstractArrayTypeDecoder
- All Implemented Interfaces:
PrimitiveArrayTypeDecoder
,PrimitiveTypeDecoder<Object>
,StreamTypeDecoder<Object>
,TypeDecoder<Object>
- Direct Known Subclasses:
Array32TypeDecoder
,Array8TypeDecoder
public abstract class AbstractArrayTypeDecoder
extends AbstractPrimitiveTypeDecoder<Object>
implements PrimitiveArrayTypeDecoder
Base for the decoders of AMQP Array types that defaults to returning opaque Object
values to match what the other decoders do. External decoding tools will need to use
the
TypeDecoder.isArrayType()
checks to determine how they want
to read and return array types.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
protected abstract int
readCount
(InputStream stream) protected abstract int
readCount
(ProtonBuffer buffer) protected abstract int
readSize
(InputStream stream) protected abstract int
readSize
(ProtonBuffer buffer) 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.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.AbstractPrimitiveTypeDecoder
isJavaPrimitive, readArrayElements, readArrayElements
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.qpid.protonj2.codec.decoders.PrimitiveTypeDecoder
getTypeCode, isJavaPrimitive
Methods inherited from interface org.apache.qpid.protonj2.codec.StreamTypeDecoder
readArrayElements
Methods inherited from interface org.apache.qpid.protonj2.codec.TypeDecoder
readArrayElements
-
Constructor Details
-
AbstractArrayTypeDecoder
public AbstractArrayTypeDecoder()
-
-
Method Details
-
getTypeClass
- Specified by:
getTypeClass
in interfaceStreamTypeDecoder<Object>
- Specified by:
getTypeClass
in interfaceTypeDecoder<Object>
- Returns:
- the Class that this decoder handles.
-
isArrayType
public boolean isArrayType()- Specified by:
isArrayType
in interfaceStreamTypeDecoder<Object>
- Specified by:
isArrayType
in interfaceTypeDecoder<Object>
- Overrides:
isArrayType
in classAbstractPrimitiveTypeDecoder<Object>
- Returns:
- true if the underlying type that is going to be decoded is an array type
-
readValue
Description copied from interface:TypeDecoder
Reads the next type from the given buffer and returns it.- Specified by:
readValue
in interfaceTypeDecoder<Object>
- 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:StreamTypeDecoder
Reads the next type from the given buffer and returns it.- Specified by:
readValue
in interfaceStreamTypeDecoder<Object>
- 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: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.
- Specified by:
skipValue
in interfaceTypeDecoder<Object>
- 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: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.
- Specified by:
skipValue
in interfaceStreamTypeDecoder<Object>
- Parameters:
stream
- The stream that contains the encoded type.state
- The decoder state.- Throws:
DecodeException
- if an error occurs while skipping the value.
-
readSize
-
readCount
-
readSize
-
readCount
-