public class NativeMessageHeaderAccessor extends MessageHeaderAccessor
MessageHeaderAccessor
that also stores and provides read/write
access to message headers from an external source -- e.g. a Spring Message
created to represent a STOMP message received from a STOMP client or message broker.
Native message headers are kept in a MultiValueMap
under the key
NATIVE_HEADERS
.
This class is not intended for direct use but is rather expected to be consumed
through sub-classes such as
StompHeaderAccessor
.
Such sub-classes may provide factory methods to translate message headers from
an external messaging source (e.g. STOMP) to Spring Message
headers and
reversely to translate Spring Message
headers to a message to send to an
external source.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NATIVE_HEADERS |
private MultiValueMap<java.lang.String,java.lang.String> |
nativeHeaders |
private java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
originalNativeHeaders |
logger
Modifier | Constructor and Description |
---|---|
protected |
NativeMessageHeaderAccessor(java.util.Map<java.lang.String,java.util.List<java.lang.String>> nativeHeaders)
A constructor for creating new headers, accepting an optional native header map.
|
protected |
NativeMessageHeaderAccessor(Message<?> message)
A constructor for accessing and modifying existing message headers.
|
Modifier and Type | Method and Description |
---|---|
void |
addNativeHeader(java.lang.String name,
java.lang.String value)
Add the specified native header value.
|
java.lang.String |
getFirstNativeHeader(java.lang.String headerName)
Return the first value for the specified native header of
null . |
java.util.List<java.lang.String> |
getNativeHeader(java.lang.String headerName)
Return all values for the specified native header or
null . |
private static java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
initNativeHeaders(Message<?> message) |
boolean |
isModified() |
void |
setNativeHeader(java.lang.String name,
java.lang.String value)
Set the specified native header value.
|
java.util.Map<java.lang.String,java.lang.Object> |
toMap()
Return a header map including original, wrapped headers (if any) plus additional
header updates made through accessor methods.
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
toNativeHeaderMap()
Return a map with native headers including original, wrapped headers (if any) plus
additional header updates made through accessor methods.
|
copyHeaders, copyHeadersIfAbsent, getContentType, getErrorChannel, getHeader, getId, getReplyChannel, getTimestamp, isReadOnly, removeHeader, removeHeaders, setContentType, setErrorChannel, setErrorChannelName, setHeader, setHeaderIfAbsent, setReplyChannel, setReplyChannelName, toString, verifyType
public static final java.lang.String NATIVE_HEADERS
private final java.util.Map<java.lang.String,java.util.List<java.lang.String>> originalNativeHeaders
private final MultiValueMap<java.lang.String,java.lang.String> nativeHeaders
protected NativeMessageHeaderAccessor(java.util.Map<java.lang.String,java.util.List<java.lang.String>> nativeHeaders)
protected NativeMessageHeaderAccessor(Message<?> message)
private static java.util.Map<java.lang.String,java.util.List<java.lang.String>> initNativeHeaders(Message<?> message)
public java.util.Map<java.lang.String,java.lang.Object> toMap()
MessageHeaderAccessor
toMap
in class MessageHeaderAccessor
public boolean isModified()
isModified
in class MessageHeaderAccessor
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> toNativeHeaderMap()
public java.util.List<java.lang.String> getNativeHeader(java.lang.String headerName)
null
.public java.lang.String getFirstNativeHeader(java.lang.String headerName)
null
.public void setNativeHeader(java.lang.String name, java.lang.String value)
public void addNativeHeader(java.lang.String name, java.lang.String value)