Class TcpMessageMapper
java.lang.Object
org.springframework.integration.ip.tcp.connection.TcpMessageMapper
- All Implemented Interfaces:
 Aware,BeanFactoryAware,InboundMessageMapper<TcpConnection>,OutboundMessageMapper<Object>
- Direct Known Subclasses:
 MessageConvertingTcpMessageMapper
public class TcpMessageMapper
extends Object
implements InboundMessageMapper<TcpConnection>, OutboundMessageMapper<Object>, BeanFactoryAware
Maps incoming data from a 
TcpConnection to a Message.
 If StringToBytes is true (default),
 payloads of type String are converted to a byte[] using the supplied
 charset (UTF-8 by default).
 Inbound messages include headers representing the remote end of the
 connection as well as a connection id that can be used by a TcpSender
 to correlate which connection to send a reply. If applySequence is set, adds
 standard correlationId/sequenceNumber headers allowing for downstream (unbounded)
 resequencing.
 *- Since:
 - 2.0
 - Author:
 - Gary Russell, Artem Bilan, Ngoc Nhan
 
- 
Field Summary
Fields - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionprotected final voidaddCustomHeaders(TcpConnection connection, MessageHeaders messageHeaders) protected final voidaddStandardHeaders(TcpConnection connection, MessageHeaders messageHeaders) fromMessage(Message<?> message) protected MessageBuilderFactoryvoidsetAddContentTypeHeader(boolean addContentTypeHeader) Set to true to add a content type header; default false.voidsetApplySequence(boolean applySequence) voidsetBeanFactory(BeanFactory beanFactory) voidsetBytesMessageMapper(BytesMessageMapper bytesMessageMapper) Set aBytesMessageMapperto use when mapping byte[].voidsetCharset(String charset) Set the charset to use when converting outbound String messages tobyte[].voidsetContentType(String contentType) Set the content type header value to add to inbound messages whenaddContentTypeHeaderis true.voidsetStringToBytes(boolean stringToBytes) Sets whether outbound String payloads are to be converted to byte[].supplyCustomHeaders(TcpConnection connection) Override to provide additional headers.Message<?>toMessage(TcpConnection connection, Map<String, Object> headers) Convert a provided object to theMessageand supply with headers if necessary and provided.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.integration.mapping.InboundMessageMapper
toMessage 
- 
Field Details
- 
logger
 
 - 
 - 
Constructor Details
- 
TcpMessageMapper
public TcpMessageMapper() 
 - 
 - 
Method Details
- 
setCharset
Set the charset to use when converting outbound String messages tobyte[].- Parameters:
 charset- the charset to set
 - 
setStringToBytes
public void setStringToBytes(boolean stringToBytes) Sets whether outbound String payloads are to be converted to byte[]. Default is true. Ignored if aBytesMessageMapperis provided.- Parameters:
 stringToBytes- The stringToBytes to set.- See Also:
 
 - 
setApplySequence
public void setApplySequence(boolean applySequence) - Parameters:
 applySequence- The applySequence to set.
 - 
setContentType
Set the content type header value to add to inbound messages whenaddContentTypeHeaderis true. Defaultapplication/octet-stream;charset=UTF-8. This default is not modified bysetCharset(String).- Parameters:
 contentType- the content type header value to set.- Since:
 - 4.3
 - See Also:
 
 - 
setAddContentTypeHeader
public void setAddContentTypeHeader(boolean addContentTypeHeader) Set to true to add a content type header; default false.- Parameters:
 addContentTypeHeader- true to add a content type header.- Since:
 - 4.3
 - See Also:
 
 - 
setBeanFactory
- Specified by:
 setBeanFactoryin interfaceBeanFactoryAware- Throws:
 BeansException
 - 
setBytesMessageMapper
Set aBytesMessageMapperto use when mapping byte[].setStringToBytes(boolean)is ignored when aBytesMessageMapperis provided.- Parameters:
 bytesMessageMapper- the mapper.- Since:
 - 5.0
 - See Also:
 
 - 
getMessageBuilderFactory
 - 
toMessage
Description copied from interface:InboundMessageMapperConvert a provided object to theMessageand supply with headers if necessary and provided.- Specified by:
 toMessagein interfaceInboundMessageMapper<TcpConnection>- Parameters:
 connection- the object for message payload or some other conversion logicheaders- additional headers for building message. Can be null- Returns:
 - the message as a result of mapping
 
 - 
addStandardHeaders
 - 
addCustomHeaders
 - 
supplyCustomHeaders
Override to provide additional headers. The standard headers cannot be overridden and any such headers will be ignored if provided in the result.- Parameters:
 connection- the connection.- Returns:
 - A Map of 
<String, ?>headers to be added to the message. 
 - 
fromMessage
- Specified by:
 fromMessagein interfaceOutboundMessageMapper<Object>
 
 -