Class DemuxingProtocolCodecFactory
- java.lang.Object
-
- org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory
-
- All Implemented Interfaces:
ProtocolCodecFactory
public class DemuxingProtocolCodecFactory extends java.lang.Object implements ProtocolCodecFactory
A convenienceProtocolCodecFactorythat providesDemuxingProtocolEncoderandDemuxingProtocolDecoderas a pair.DemuxingProtocolEncoderandDemuxingProtocolDecoderdemultiplex incoming messages and buffers to appropriateMessageEncoders andMessageDecoders.- Author:
- Apache MINA Project
-
-
Constructor Summary
Constructors Constructor Description DemuxingProtocolCodecFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMessageDecoder(java.lang.Class<? extends MessageDecoder> decoderClass)Adds a new message decodervoidaddMessageDecoder(MessageDecoder decoder)Adds a new message decodervoidaddMessageDecoder(MessageDecoderFactory factory)Adds a new message decodervoidaddMessageEncoder(java.lang.Class<?> messageType, java.lang.Class<? extends MessageEncoder> encoderClass)Adds a new message encoder for a given message type<T> voidaddMessageEncoder(java.lang.Class<T> messageType, MessageEncoder<? super T> encoder)Adds a new message encoder for a given message type<T> voidaddMessageEncoder(java.lang.Class<T> messageType, MessageEncoderFactory<? super T> factory)Adds a new message encoder for a given message typevoidaddMessageEncoder(java.lang.Iterable<java.lang.Class<?>> messageTypes, java.lang.Class<? extends MessageEncoder> encoderClass)Adds a new message encoder for a list of message types<T> voidaddMessageEncoder(java.lang.Iterable<java.lang.Class<? extends T>> messageTypes, MessageEncoder<? super T> encoder)Adds a new message encoder for a list of message types<T> voidaddMessageEncoder(java.lang.Iterable<java.lang.Class<? extends T>> messageTypes, MessageEncoderFactory<? super T> factory)Adds a new message encoder for a list of message typesProtocolDecodergetDecoder(IoSession session)Returns a new (or reusable) instance ofProtocolDecoderwhich decodes binary or protocol-specific data into message objects.ProtocolEncodergetEncoder(IoSession session)Returns a new (or reusable) instance ofProtocolEncoderwhich encodes message objects into binary or protocol-specific data.
-
-
-
Method Detail
-
getEncoder
public ProtocolEncoder getEncoder(IoSession session) throws java.lang.Exception
Returns a new (or reusable) instance ofProtocolEncoderwhich encodes message objects into binary or protocol-specific data.- Specified by:
getEncoderin interfaceProtocolCodecFactory- Parameters:
session- The current session- Returns:
- The encoder instance
- Throws:
java.lang.Exception- If an error occurred while retrieving the encoder
-
getDecoder
public ProtocolDecoder getDecoder(IoSession session) throws java.lang.Exception
Returns a new (or reusable) instance ofProtocolDecoderwhich decodes binary or protocol-specific data into message objects.- Specified by:
getDecoderin interfaceProtocolCodecFactory- Parameters:
session- The current session- Returns:
- The decoder instance
- Throws:
java.lang.Exception- If an error occurred while retrieving the decoder
-
addMessageEncoder
public void addMessageEncoder(java.lang.Class<?> messageType, java.lang.Class<? extends MessageEncoder> encoderClass)Adds a new message encoder for a given message type- Parameters:
messageType- The message typeencoderClass- The associated encoder class
-
addMessageEncoder
public <T> void addMessageEncoder(java.lang.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 typeencoder- The associated encoder instance
-
addMessageEncoder
public <T> void addMessageEncoder(java.lang.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 typefactory- The associated encoder factory
-
addMessageEncoder
public void addMessageEncoder(java.lang.Iterable<java.lang.Class<?>> messageTypes, java.lang.Class<? extends MessageEncoder> encoderClass)Adds a new message encoder for a list of message types- Parameters:
messageTypes- The message typesencoderClass- The associated encoder class
-
addMessageEncoder
public <T> void addMessageEncoder(java.lang.Iterable<java.lang.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 typesencoder- The associated encoder instance
-
addMessageEncoder
public <T> void addMessageEncoder(java.lang.Iterable<java.lang.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 typesfactory- The associated encoder factory
-
addMessageDecoder
public void addMessageDecoder(java.lang.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
-
-