Interface ListTypeDecoder

All Superinterfaces:
PrimitiveTypeDecoder<List>, StreamTypeDecoder<List>, TypeDecoder<List>
All Known Implementing Classes:
AbstractListTypeDecoder, List0TypeDecoder, List32TypeDecoder, List8TypeDecoder

public interface ListTypeDecoder extends PrimitiveTypeDecoder<List>
Base class for List type decoders.
  • Method Details

    • getTypeClass

      default Class<List> getTypeClass()
      Specified by:
      getTypeClass in interface StreamTypeDecoder<List>
      Specified by:
      getTypeClass in interface TypeDecoder<List>
      Returns:
      the Class that this decoder handles.
    • readCount

      int readCount(ProtonBuffer buffer, DecoderState state) throws DecodeException
      Reads the number of elements contained in the encoded list from the provided ProtonBuffer. The implementation must read the correct size encoding based on the type of List that this TypeDecoder handles.
      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.
    • readCount

      int readCount(InputStream stream, StreamDecoderState state) throws DecodeException
      Reads the number of elements contained in the encoded list from the provided InputStream. The implementation must read the correct size encoding based on the type of List that this TypeDecoder handles.
      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.