Class DemuxingProtocolCodecFactory
- java.lang.Object
-
- org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory
-
- All Implemented Interfaces:
ProtocolCodecFactory
public class DemuxingProtocolCodecFactory extends 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(Class<? extends MessageDecoder> decoderClass)Adds a new message decodervoidaddMessageDecoder(MessageDecoder decoder)Adds a new message decodervoidaddMessageDecoder(MessageDecoderFactory factory)Adds a new message decodervoidaddMessageEncoder(Class<?> messageType, Class<? extends MessageEncoder> encoderClass)Adds a new message encoder for a given message type<T> voidaddMessageEncoder(Class<T> messageType, MessageEncoder<? super T> encoder)Adds a new message encoder for a given message type<T> voidaddMessageEncoder(Class<T> messageType, MessageEncoderFactory<? super T> factory)Adds a new message encoder for a given message typevoidaddMessageEncoder(Iterable<Class<?>> messageTypes, Class<? extends MessageEncoder> encoderClass)Adds a new message encoder for a list of message types<T> voidaddMessageEncoder(Iterable<Class<? extends T>> messageTypes, MessageEncoder<? super T> encoder)Adds a new message encoder for a list of message types<T> voidaddMessageEncoder(Iterable<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 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:
Exception- If an error occurred while retrieving the encoder
-
getDecoder
public ProtocolDecoder getDecoder(IoSession session) throws 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:
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 typeencoderClass- 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 typeencoder- 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 typefactory- 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 typesencoderClass- 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 typesencoder- 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 typesfactory- 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
-
-