Class AbstractArrayTypeDecoder
- java.lang.Object
-
- org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder<java.lang.Object>
-
- org.apache.qpid.protonj2.codec.decoders.primitives.AbstractArrayTypeDecoder
-
- All Implemented Interfaces:
PrimitiveArrayTypeDecoder,PrimitiveTypeDecoder<java.lang.Object>,StreamTypeDecoder<java.lang.Object>,TypeDecoder<java.lang.Object>
- Direct Known Subclasses:
Array32TypeDecoder,Array8TypeDecoder
public abstract class AbstractArrayTypeDecoder extends AbstractPrimitiveTypeDecoder<java.lang.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 theTypeDecoder.isArrayType()checks to determine how they want to read and return array types.
-
-
Constructor Summary
Constructors Constructor Description AbstractArrayTypeDecoder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.lang.Class<java.lang.Object>getTypeClass()booleanisArrayType()protected abstract intreadCount(java.io.InputStream stream)protected abstract intreadCount(ProtonBuffer buffer)protected abstract intreadSize(java.io.InputStream stream)protected abstract intreadSize(ProtonBuffer buffer)java.lang.ObjectreadValue(java.io.InputStream stream, StreamDecoderState state)Reads the next type from the given buffer and returns it.java.lang.ObjectreadValue(ProtonBuffer buffer, DecoderState state)Reads the next type from the given buffer and returns it.voidskipValue(java.io.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
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
-
-
-
-
Method Detail
-
getTypeClass
public java.lang.Class<java.lang.Object> getTypeClass()
- Specified by:
getTypeClassin interfaceStreamTypeDecoder<java.lang.Object>- Specified by:
getTypeClassin interfaceTypeDecoder<java.lang.Object>- Returns:
- the Class that this decoder handles.
-
isArrayType
public boolean isArrayType()
- Specified by:
isArrayTypein interfaceStreamTypeDecoder<java.lang.Object>- Specified by:
isArrayTypein interfaceTypeDecoder<java.lang.Object>- Overrides:
isArrayTypein classAbstractPrimitiveTypeDecoder<java.lang.Object>- Returns:
- true if the underlying type that is going to be decoded is an array type
-
readValue
public java.lang.Object readValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
Description copied from interface:TypeDecoderReads the next type from the given buffer and returns it.- Specified by:
readValuein interfaceTypeDecoder<java.lang.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
public java.lang.Object readValue(java.io.InputStream stream, StreamDecoderState state) throws DecodeExceptionDescription copied from interface:StreamTypeDecoderReads the next type from the given buffer and returns it.- Specified by:
readValuein interfaceStreamTypeDecoder<java.lang.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
public void skipValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
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<java.lang.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
public void skipValue(java.io.InputStream stream, StreamDecoderState state) throws DecodeExceptionDescription 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<java.lang.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
protected abstract int readSize(ProtonBuffer buffer)
-
readCount
protected abstract int readCount(ProtonBuffer buffer)
-
readSize
protected abstract int readSize(java.io.InputStream stream)
-
readCount
protected abstract int readCount(java.io.InputStream stream)
-
-