Class DemuxingProtocolCodecFactory
- java.lang.Object
-
- org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory
-
- All Implemented Interfaces:
ProtocolCodecFactory
public class DemuxingProtocolCodecFactory extends Object implements ProtocolCodecFactory
A convenienceProtocolCodecFactory
that providesDemuxingProtocolEncoder
andDemuxingProtocolDecoder
as a pair.DemuxingProtocolEncoder
andDemuxingProtocolDecoder
demultiplex incoming messages and buffers to appropriateMessageEncoder
s andMessageDecoder
s.- Author:
- Apache MINA Project
-
-
Constructor Summary
Constructors Constructor Description DemuxingProtocolCodecFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMessageDecoder(Class<? extends MessageDecoder> decoderClass)
Adds a new message decodervoid
addMessageDecoder(MessageDecoder decoder)
Adds a new message decodervoid
addMessageDecoder(MessageDecoderFactory factory)
Adds a new message decodervoid
addMessageEncoder(Class<?> messageType, Class<? extends MessageEncoder> encoderClass)
Adds a new message encoder for a given message type<T> void
addMessageEncoder(Class<T> messageType, MessageEncoder<? super T> encoder)
Adds a new message encoder for a given message type<T> void
addMessageEncoder(Class<T> messageType, MessageEncoderFactory<? super T> factory)
Adds a new message encoder for a given message typevoid
addMessageEncoder(Iterable<Class<?>> messageTypes, Class<? extends MessageEncoder> encoderClass)
Adds a new message encoder for a list of message types<T> void
addMessageEncoder(Iterable<Class<? extends T>> messageTypes, MessageEncoder<? super T> encoder)
Adds a new message encoder for a list of message types<T> void
addMessageEncoder(Iterable<Class<? extends T>> messageTypes, MessageEncoderFactory<? super T> factory)
Adds a new message encoder for a list of message typesProtocolDecoder
getDecoder(IoSession session)
Returns a new (or reusable) instance ofProtocolDecoder
which decodes binary or protocol-specific data into message objects.ProtocolEncoder
getEncoder(IoSession session)
Returns a new (or reusable) instance ofProtocolEncoder
which 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 ofProtocolEncoder
which encodes message objects into binary or protocol-specific data.- Specified by:
getEncoder
in 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 ofProtocolDecoder
which decodes binary or protocol-specific data into message objects.- Specified by:
getDecoder
in 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
-
-