Class DemuxingProtocolCodecFactory

java.lang.Object
org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory
All Implemented Interfaces:
ProtocolCodecFactory

public class DemuxingProtocolCodecFactory extends Object implements ProtocolCodecFactory
A convenience ProtocolCodecFactory that provides DemuxingProtocolEncoder and DemuxingProtocolDecoder as a pair.

DemuxingProtocolEncoder and DemuxingProtocolDecoder demultiplex incoming messages and buffers to appropriate MessageEncoders and MessageDecoders.

  • Field Details

  • Constructor Details

    • DemuxingProtocolCodecFactory

      public DemuxingProtocolCodecFactory()
  • Method Details

    • getEncoder

      public ProtocolEncoder getEncoder(IoSession session) throws Exception
      Returns a new (or reusable) instance of ProtocolEncoder which encodes message objects into binary or protocol-specific data.
      Specified by:
      getEncoder in interface ProtocolCodecFactory
      Parameters:
      session - The current session
      Returns:
      The encoder instance
      Throws:
      Exception - If an error occurred while retrieving the encoder
    • getDecoder

      public ProtocolDecoder getDecoder(IoSession session) throws Exception
      Returns a new (or reusable) instance of ProtocolDecoder which decodes binary or protocol-specific data into message objects.
      Specified by:
      getDecoder in interface ProtocolCodecFactory
      Parameters:
      session - The current session
      Returns:
      The decoder instance
      Throws:
      Exception - If an error occurred while retrieving the decoder
    • addMessageEncoder

      public void addMessageEncoder(Class<?> messageType, Class<? extends MessageEncoder> encoderClass)
      Adds a new message encoder for a given message type
      Parameters:
      messageType - The message type
      encoderClass - The associated encoder class
    • addMessageEncoder

      public <T> void addMessageEncoder(Class<T> messageType, MessageEncoder<? super T> encoder)
      Adds a new message encoder for a given message type
      Type Parameters:
      T - The message type
      Parameters:
      messageType - The message type
      encoder - The associated encoder instance
    • addMessageEncoder

      public <T> void addMessageEncoder(Class<T> messageType, MessageEncoderFactory<? super T> factory)
      Adds a new message encoder for a given message type
      Type Parameters:
      T - The message type
      Parameters:
      messageType - The message type
      factory - The associated encoder factory
    • addMessageEncoder

      public void addMessageEncoder(Iterable<Class<?>> messageTypes, Class<? extends MessageEncoder> encoderClass)
      Adds a new message encoder for a list of message types
      Parameters:
      messageTypes - The message types
      encoderClass - The associated encoder class
    • addMessageEncoder

      public <T> void addMessageEncoder(Iterable<Class<? extends T>> messageTypes, MessageEncoder<? super T> encoder)
      Adds a new message encoder for a list of message types
      Type Parameters:
      T - The message type
      Parameters:
      messageTypes - The messages types
      encoder - The associated encoder instance
    • addMessageEncoder

      public <T> void addMessageEncoder(Iterable<Class<? extends T>> messageTypes, MessageEncoderFactory<? super T> factory)
      Adds a new message encoder for a list of message types
      Type Parameters:
      T - The message type
      Parameters:
      messageTypes - The messages types
      factory - The associated encoder factory
    • addMessageDecoder

      public void addMessageDecoder(Class<? extends MessageDecoder> decoderClass)
      Adds a new message decoder
      Parameters:
      decoderClass - The associated decoder class
    • addMessageDecoder

      public void addMessageDecoder(MessageDecoder decoder)
      Adds a new message decoder
      Parameters:
      decoder - The associated decoder instance
    • addMessageDecoder

      public void addMessageDecoder(MessageDecoderFactory factory)
      Adds a new message decoder
      Parameters:
      factory - The associated decoder factory