Class IntegrationMessageBuilder<T>
- Namespace
- Steeltoe.Integration.Support
- Assembly
- Steeltoe.Integration.IntegrationBase.dll
public class IntegrationMessageBuilder<T> : IntegrationMessageBuilder, IMessageBuilder<T>, IMessageBuilder
Type Parameters
T
- Inheritance
-
IntegrationMessageBuilder<T>
- Implements
- Inherited Members
Properties
Payload
Gets the payload of the message
public T Payload { get; }
Property Value
- T
Methods
Build()
Build the message
public IMessage<T> Build()
Returns
- IMessage<T>
the message
CopyHeaders(IDictionary<string, object>)
Adds the headers to the message overwriting any existing values.
public IMessageBuilder<T> CopyHeaders(IDictionary<string, object> headersToCopy)
Parameters
headersToCopy
IDictionary<string, object>the headers to add
Returns
- IMessageBuilder<T>
the builder
CopyHeadersIfAbsent(IDictionary<string, object>)
Adds the headers to the message but will not overwrite any existing values.
public IMessageBuilder<T> CopyHeadersIfAbsent(IDictionary<string, object> headersToCopy)
Parameters
headersToCopy
IDictionary<string, object>the headers to add
Returns
- IMessageBuilder<T>
the builder
FilterAndCopyHeadersIfAbsent(IDictionary<string, object>, params string[])
Remove headers from the provided map matching to the provided pattens and only after that copy the result into the target message headers.
public IMessageBuilder<T> FilterAndCopyHeadersIfAbsent(IDictionary<string, object> headersToCopy, params string[] headerPatternsToFilter)
Parameters
headersToCopy
IDictionary<string, object>the set of headers to copy
headerPatternsToFilter
string[]header patterns to filter before copy
Returns
- IMessageBuilder<T>
the builder
FromMessage(IMessage<T>)
public static IntegrationMessageBuilder<T> FromMessage(IMessage<T> message)
Parameters
message
IMessage<T>
Returns
PopSequenceDetails()
Removes a sequence details header from the message
public IMessageBuilder<T> PopSequenceDetails()
Returns
- IMessageBuilder<T>
the builder
PushSequenceDetails(object, int, int)
Adds a sequence details header to the message
public IMessageBuilder<T> PushSequenceDetails(object correlationId, int sequenceNumber, int sequenceSize)
Parameters
correlationId
objectcorrelation id to use in sequence
sequenceNumber
intthe sequence number
sequenceSize
intthe size of the sequence number
Returns
- IMessageBuilder<T>
the builder
ReadOnlyHeaders(IList<string>)
public IMessageBuilder<T> ReadOnlyHeaders(IList<string> readOnlyHeaders)
Parameters
Returns
RemoveHeader(string)
Remove the header if present
public IMessageBuilder<T> RemoveHeader(string headerName)
Parameters
headerName
stringthe name of the header to remove
Returns
- IMessageBuilder<T>
the builder
RemoveHeaders(params string[])
Remove the headers matched by the header patterns from the message
public IMessageBuilder<T> RemoveHeaders(params string[] headerPatterns)
Parameters
headerPatterns
string[]header patterns to match
Returns
- IMessageBuilder<T>
the builder
SetCorrelationId(object)
Adds the correlationId to the headers
public IMessageBuilder<T> SetCorrelationId(object correlationId)
Parameters
correlationId
objectthe id to add
Returns
- IMessageBuilder<T>
the builder
SetErrorChannel(IMessageChannel)
Adds an error channel to the messsage
public IMessageBuilder<T> SetErrorChannel(IMessageChannel errorChannel)
Parameters
errorChannel
IMessageChannelthe error channel
Returns
- IMessageBuilder<T>
the builder
SetErrorChannelName(string)
Adds an error channel name to the message
public IMessageBuilder<T> SetErrorChannelName(string errorChannelName)
Parameters
errorChannelName
stringthe name of the error channel
Returns
- IMessageBuilder<T>
the builder
SetExpirationDate(long)
Adds an expiration date in the headers
public IMessageBuilder<T> SetExpirationDate(long expirationDate)
Parameters
expirationDate
longexpiration date added to header
Returns
- IMessageBuilder<T>
the builder
SetExpirationDate(DateTime?)
Adds an expiration date in the headers
public IMessageBuilder<T> SetExpirationDate(DateTime? expirationDate)
Parameters
expirationDate
DateTime?expiration date added to header
Returns
- IMessageBuilder<T>
the builder
SetHeader(string, object)
Add a header and value to the message
public IMessageBuilder<T> SetHeader(string headerName, object headerValue)
Parameters
Returns
- IMessageBuilder<T>
the builder
SetHeaderIfAbsent(string, object)
Add a header and value to the message if not present
public IMessageBuilder<T> SetHeaderIfAbsent(string headerName, object headerValue)
Parameters
Returns
- IMessageBuilder<T>
the builder
SetPriority(int)
Adds a priority header to the message
public IMessageBuilder<T> SetPriority(int priority)
Parameters
priority
intthe priority to add
Returns
- IMessageBuilder<T>
the builder
SetReplyChannel(IMessageChannel)
Adds a reply channel to the message
public IMessageBuilder<T> SetReplyChannel(IMessageChannel replyChannel)
Parameters
replyChannel
IMessageChannelthe reply channel
Returns
- IMessageBuilder<T>
the builder
SetReplyChannelName(string)
Adds a reply channel name to the message
public IMessageBuilder<T> SetReplyChannelName(string replyChannelName)
Parameters
replyChannelName
stringthe reply channel name
Returns
- IMessageBuilder<T>
the builder
SetSequenceNumber(int)
Adds sequence details header to the message
public IMessageBuilder<T> SetSequenceNumber(int sequenceNumber)
Parameters
sequenceNumber
intthe sequence number
Returns
- IMessageBuilder<T>
the builder
SetSequenceSize(int)
Sets the size of the sequence number
public IMessageBuilder<T> SetSequenceSize(int sequenceSize)
Parameters
sequenceSize
intthe size
Returns
- IMessageBuilder<T>
the builder
WithPayload(T)
public static IntegrationMessageBuilder<T> WithPayload(T payload)
Parameters
payload
T