Class DemuxingProtocolCodecFactory
java.lang.Object
org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory
- All Implemented Interfaces:
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 Summary
FieldsModifier and TypeFieldDescriptionprivate final DemuxingProtocolDecoderprivate final DemuxingProtocolEncoder -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddMessageDecoder(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 typesgetDecoder(IoSession session) Returns a new (or reusable) instance ofProtocolDecoderwhich decodes binary or protocol-specific data into message objects.getEncoder(IoSession session) Returns a new (or reusable) instance ofProtocolEncoderwhich encodes message objects into binary or protocol-specific data.
-
Field Details
-
encoder
-
decoder
-
-
Constructor Details
-
DemuxingProtocolCodecFactory
public DemuxingProtocolCodecFactory()
-
-
Method Details
-
getEncoder
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
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
Adds a new message encoder for a given message type- Parameters:
messageType- The message typeencoderClass- The associated encoder class
-
addMessageEncoder
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
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
Adds a new message decoder- Parameters:
decoderClass- The associated decoder class
-
addMessageDecoder
Adds a new message decoder- Parameters:
decoder- The associated decoder instance
-
addMessageDecoder
Adds a new message decoder- Parameters:
factory- The associated decoder factory
-