org.apache.mina.filter.codec.statemachine

## Interface DecodingState

- All Known Implementing Classes:
    ConsumeToCrLfDecodingState, ConsumeToDynamicTerminatorDecodingState, ConsumeToEndOfSessionDecodingState, ConsumeToLinearWhitespaceDecodingState, ConsumeToTerminatorDecodingState, CrLfDecodingState, DecodingStateMachine, FixedLengthDecodingState, IntegerDecodingState, LinearWhitespaceSkippingState, ShortIntegerDecodingState, SingleByteDecodingState, SkippingState

      public interface DecodingState

  Represents a state in a decoder state machine used by `DecodingStateMachine`.
  Author:
    Apache MINA Project

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DecodingState` | `decode(IoBuffer in, ProtocolDecoderOutput out)` Invoked when data is available for this state.
    `DecodingState` | `finishDecode(ProtocolDecoderOutput out)` Invoked when the associated `IoSession` is closed.

- - ### Method Detail

    - #### decode

          DecodingState decode(IoBuffer in,
                             ProtocolDecoderOutput out)
                               throws Exception

      Invoked when data is available for this state.
      Parameters:
        `in` - the data to be decoded.
        `out` - used to write decoded objects.
      Returns:
        the next state if a state transition was triggered (use `this` for loop transitions) or `null` if the state machine has reached its end.
      Throws:
        `Exception` - if the read data violated protocol specification.

    - #### finishDecode

          DecodingState finishDecode(ProtocolDecoderOutput out)
                                     throws Exception

      Invoked when the associated `IoSession` is closed. This method is useful when you deal with protocols which don't specify the length of a message (e.g. HTTP responses without `content-length` header). Implement this method to process the remaining data that `decode(IoBuffer, ProtocolDecoderOutput)` method didn't process completely.
      Parameters:
        `out` - used to write decoded objects.
      Returns:
        the next state if a state transition was triggered (use `this` for loop transitions) or `null` if the state machine has reached its end.
      Throws:
        `Exception` - if the read data violated protocol specification.

Copyright © 2004-2012 Apache MINA Project. All Rights Reserved.