Class AbstractIntegrationMessageBuilder<T>
java.lang.Object
org.springframework.integration.support.AbstractIntegrationMessageBuilder<T>
- Type Parameters:
T
- the payload type.
- Direct Known Subclasses:
MessageBuilder
,MutableMessageBuilder
public abstract class AbstractIntegrationMessageBuilder<T>
extends java.lang.Object
- Since:
- 4.0
-
Constructor Summary
Constructors Constructor Description AbstractIntegrationMessageBuilder()
-
Method Summary
Modifier and Type Method Description abstract org.springframework.messaging.Message<T>
build()
abstract AbstractIntegrationMessageBuilder<T>
copyHeaders(java.util.Map<java.lang.String,?> headersToCopy)
Copy the name-value pairs from the provided Map.abstract AbstractIntegrationMessageBuilder<T>
copyHeadersIfAbsent(java.util.Map<java.lang.String,?> headersToCopy)
Copy the name-value pairs from the provided Map.AbstractIntegrationMessageBuilder<T>
filterAndCopyHeadersIfAbsent(java.util.Map<java.lang.String,?> headersToCopy, java.lang.String... headerPatternsToFilter)
Remove headers from the provided map matching to the provided pattens and only after that copy the result into the target message headers.protected abstract java.lang.Object
getCorrelationId()
abstract <V> V
getHeader(java.lang.String key, java.lang.Class<V> type)
abstract java.util.Map<java.lang.String,java.lang.Object>
getHeaders()
abstract T
getPayload()
protected abstract java.util.List<java.util.List<java.lang.Object>>
getSequenceDetails()
protected abstract java.lang.Object
getSequenceNumber()
protected abstract java.lang.Object
getSequenceSize()
AbstractIntegrationMessageBuilder<T>
popSequenceDetails()
AbstractIntegrationMessageBuilder<T>
pushSequenceDetails(java.lang.Object correlationId, int sequenceNumber, int sequenceSize)
abstract AbstractIntegrationMessageBuilder<T>
removeHeader(java.lang.String headerName)
Remove the value for the given header name.abstract AbstractIntegrationMessageBuilder<T>
removeHeaders(java.lang.String... headerPatterns)
Removes all headers provided via array of 'headerPatterns'.AbstractIntegrationMessageBuilder<T>
setCorrelationId(java.lang.Object correlationId)
AbstractIntegrationMessageBuilder<T>
setErrorChannel(org.springframework.messaging.MessageChannel errorChannel)
AbstractIntegrationMessageBuilder<T>
setErrorChannelName(java.lang.String errorChannelName)
AbstractIntegrationMessageBuilder<T>
setExpirationDate(java.lang.Long expirationDate)
AbstractIntegrationMessageBuilder<T>
setExpirationDate(java.util.Date expirationDate)
abstract AbstractIntegrationMessageBuilder<T>
setHeader(java.lang.String headerName, java.lang.Object headerValue)
Set the value for the given header name.abstract AbstractIntegrationMessageBuilder<T>
setHeaderIfAbsent(java.lang.String headerName, java.lang.Object headerValue)
Set the value for the given header name only if the header name is not already associated with a value.AbstractIntegrationMessageBuilder<T>
setPriority(java.lang.Integer priority)
AbstractIntegrationMessageBuilder<T>
setReplyChannel(org.springframework.messaging.MessageChannel replyChannel)
AbstractIntegrationMessageBuilder<T>
setReplyChannelName(java.lang.String replyChannelName)
AbstractIntegrationMessageBuilder<T>
setSequenceNumber(java.lang.Integer sequenceNumber)
AbstractIntegrationMessageBuilder<T>
setSequenceSize(java.lang.Integer sequenceSize)
-
Constructor Details
-
AbstractIntegrationMessageBuilder
public AbstractIntegrationMessageBuilder()
-
-
Method Details
-
setExpirationDate
-
setExpirationDate
public AbstractIntegrationMessageBuilder<T> setExpirationDate(@Nullable java.util.Date expirationDate) -
setCorrelationId
-
pushSequenceDetails
public AbstractIntegrationMessageBuilder<T> pushSequenceDetails(java.lang.Object correlationId, int sequenceNumber, int sequenceSize) -
popSequenceDetails
-
setReplyChannel
public AbstractIntegrationMessageBuilder<T> setReplyChannel(org.springframework.messaging.MessageChannel replyChannel) -
setReplyChannelName
-
setErrorChannel
public AbstractIntegrationMessageBuilder<T> setErrorChannel(org.springframework.messaging.MessageChannel errorChannel) -
setErrorChannelName
-
setSequenceNumber
-
setSequenceSize
-
setPriority
-
filterAndCopyHeadersIfAbsent
public AbstractIntegrationMessageBuilder<T> filterAndCopyHeadersIfAbsent(java.util.Map<java.lang.String,?> headersToCopy, @Nullable java.lang.String... headerPatternsToFilter)Remove headers from the provided map matching to the provided pattens and only after that copy the result into the target message headers.- Parameters:
headersToCopy
- a map of headers to copy.headerPatternsToFilter
- an arrays of header patterns to filter before copying.- Returns:
- the current
AbstractIntegrationMessageBuilder
. - Since:
- 5.1
- See Also:
copyHeadersIfAbsent(Map)
-
getSequenceDetails
@Nullable protected abstract java.util.List<java.util.List<java.lang.Object>> getSequenceDetails() -
getCorrelationId
@Nullable protected abstract java.lang.Object getCorrelationId() -
getSequenceNumber
@Nullable protected abstract java.lang.Object getSequenceNumber() -
getSequenceSize
@Nullable protected abstract java.lang.Object getSequenceSize() -
getPayload
-
getHeaders
public abstract java.util.Map<java.lang.String,java.lang.Object> getHeaders() -
getHeader
@Nullable public abstract <V> V getHeader(java.lang.String key, java.lang.Class<V> type) -
setHeader
public abstract AbstractIntegrationMessageBuilder<T> setHeader(java.lang.String headerName, @Nullable java.lang.Object headerValue)Set the value for the given header name. If the provided value isnull
, the header will be removed.- Parameters:
headerName
- The header name.headerValue
- The header value.- Returns:
- this.
-
setHeaderIfAbsent
public abstract AbstractIntegrationMessageBuilder<T> setHeaderIfAbsent(java.lang.String headerName, java.lang.Object headerValue)Set the value for the given header name only if the header name is not already associated with a value.- Parameters:
headerName
- The header name.headerValue
- The header value.- Returns:
- this.
-
removeHeaders
public abstract AbstractIntegrationMessageBuilder<T> removeHeaders(java.lang.String... headerPatterns)Removes all headers provided via array of 'headerPatterns'. As the name suggests the array may contain simple matching patterns for header names. Supported pattern styles are: "xxx*", "*xxx", "*xxx*" and "xxx*yyy".- Parameters:
headerPatterns
- The header patterns.- Returns:
- this.
-
removeHeader
Remove the value for the given header name.- Parameters:
headerName
- The header name.- Returns:
- this.
-
copyHeaders
public abstract AbstractIntegrationMessageBuilder<T> copyHeaders(@Nullable java.util.Map<java.lang.String,?> headersToCopy)Copy the name-value pairs from the provided Map. This operation will overwrite any existing values. Use {copyHeadersIfAbsent(Map)
to avoid overwriting values. Note that the 'id' and 'timestamp' header values will never be overwritten.- Parameters:
headersToCopy
- The headers to copy.- Returns:
- this.
- See Also:
MessageHeaders.ID
,MessageHeaders.TIMESTAMP
-
copyHeadersIfAbsent
public abstract AbstractIntegrationMessageBuilder<T> copyHeadersIfAbsent(@Nullable java.util.Map<java.lang.String,?> headersToCopy)Copy the name-value pairs from the provided Map. This operation will not overwrite any existing values.- Parameters:
headersToCopy
- The headers to copy.- Returns:
- this.
-
build
-