Class SaslChallengeTypeEncoder

All Implemented Interfaces:
DescribedTypeEncoder<SaslChallenge>, TypeEncoder<SaslChallenge>

public final class SaslChallengeTypeEncoder extends AbstractDescribedListTypeEncoder<SaslChallenge>
Encoder of AMQP SaslChallenge type values to a byte stream
  • Constructor Details

    • SaslChallengeTypeEncoder

      public SaslChallengeTypeEncoder()
  • Method Details

    • getTypeClass

      public Class<SaslChallenge> getTypeClass()
      Returns:
      the Class type that this encoder handles.
    • getDescriptorCode

      public UnsignedLong getDescriptorCode()
      Returns:
      the UnsignedLong value to use as the Descriptor for this type.
    • getDescriptorSymbol

      public Symbol getDescriptorSymbol()
      Returns:
      the Symbol value to use as the Descriptor for this type.
    • writeElement

      public void writeElement(SaslChallenge challenge, int index, ProtonBuffer buffer, Encoder encoder, EncoderState state)
      Description copied from class: AbstractDescribedListTypeEncoder
      Instructs the encoder to write the element identified with the given index
      Specified by:
      writeElement in class AbstractDescribedListTypeEncoder<SaslChallenge>
      Parameters:
      challenge - the source of the list elements to write
      index - the element index that needs to be written
      buffer - the buffer to write the element to
      encoder - the current Encoder value to use.
      state - the current EncoderState value to use.
    • getListEncoding

      public byte getListEncoding(SaslChallenge value)
      Description copied from class: AbstractDescribedListTypeEncoder
      Determine the list type the given value can be encoded to based on the number of bytes that would be needed to hold the encoded form of the resulting list entries.

      Most encoders will return LIST32 but for cases where the type is known to be encoded to LIST8 or always encodes an empty list (LIST0) the encoder can optimize the encode step and not compute sizes.

      Overrides:
      getListEncoding in class AbstractDescribedListTypeEncoder<SaslChallenge>
      Parameters:
      value - The value that is to be encoded.
      Returns:
      the encoding code of the list type encoding needed for this object.
    • getElementCount

      public int getElementCount(SaslChallenge challenge)
      Description copied from class: AbstractDescribedListTypeEncoder
      Gets the number of elements that will result when this type is encoded into an AMQP List type.
      Specified by:
      getElementCount in class AbstractDescribedListTypeEncoder<SaslChallenge>
      Parameters:
      challenge - the value which will be encoded as a list type.
      Returns:
      the number of elements that should comprise the encoded list.
    • getMinElementCount

      public int getMinElementCount()
      Description copied from class: AbstractDescribedListTypeEncoder
      Return the minimum number of elements that this AMQP type must provide in order to be considered a valid type.
      Overrides:
      getMinElementCount in class AbstractDescribedListTypeEncoder<SaslChallenge>
      Returns:
      the minimum number of elements this type must provide.