Class ClientStreamReceiverMessage
- All Implemented Interfaces:
AdvancedMessage<InputStream>,Message<InputStream>,StreamReceiverMessage
Transfer payload's that comprise a single large overall message.-
Method Summary
Modifier and TypeMethodDescriptionbooleanaborted()Check if theStreamDeliverythat was assigned to thisStreamReceiverMessagehas been marked as aborted by the remote.longabsoluteExpiryTime(long expiryTime) Sets the absolute expiration time value to assign to thisMessage.addBodySection(Section<?> bodySection) Adds the givenSectionto the internal collection of sections that will be sent to the remote peer when this message is encoded.annotation(String key) Returns the requested message annotation value from thisMessageif it exists or returns null otherwise.annotation(String key, Object value) Sets the given message annotation value at the given key, replacing any previous value that was assigned to thisMessage.Return the currentMessageAnnotationsassigned to this message, if none was assigned yet then this method returnsnull.annotations(MessageAnnotations messageAnnotations) Assign or replace theMessageAnnotationsinstance associated with this message.Return the currentApplicationPropertiesassigned to this message, if none was assigned yet then this method returnsnull.applicationProperties(ApplicationProperties applicationProperties) Assign or replace theApplicationPropertiesinstance associated with this message.body()Returns the body value that is conveyed in this message or null if no body was set locally or sent from the remote if this is an incoming message.body(InputStream value) Sets the body value that is to be conveyed to the remote when this message is sent.Collection<Section<?>>Create and return an unmodifiableCollectionthat contains theSectioninstances currently assigned to this message.bodySections(Collection<Section<?>> sections) Sets the bodySectioninstances to use when encoding this message.Clears all current bodySectionelements from theAdvancedMessage.booleanCheck if theStreamDeliverythat was assigned to thisStreamReceiverMessagehas been marked as complete by the remote.Message<?>contentEncoding(String contentEncoding) Sets the contentEncoding value to assign to thisMessage.contentType(String contentType) Sets the contentType value to assign to thisMessage.correlationId(Object correlationId) Sets the correlationId value to assign to thisMessage.longcreationTime(long createTime) Sets the creation time value to assign to thisMessage.delivery()longdeliveryCount(long deliveryCount) Sets the value to assign to the delivery count field of thisMessage.booleandurable()For an message being sent this method returns the current state of the durable flag on the message.durable(boolean durable) Controls if the message is marked as durable when sent.encode(Map<String, Object> deliveryAnnotations, ProtonBufferAllocator allocator) Encodes theAdvancedMessagefor transmission by the client.booleanfirstAcquirer(boolean firstAcquirer) Sets the value to assign to the first acquirer field of thisMessage.footer()Return the currentFooterassigned to this message, if none was assigned yet then this method returnsnull.Returns the requested footer value from thisMessageif it exists or returnsnullotherwise.Sets the given footer value at the given key, replacing any previous value that was assigned to thisMessage.Assign or replace theFooterinstance associated with this message.forEachAnnotation(BiConsumer<String, Object> action) Invokes the givenBiConsumeron each message annotation entry carried in thisMessage.forEachBodySection(Consumer<Section<?>> consumer) Performs the given action for each bodySectionof theAdvancedMessageuntil all sections have been presented to the givenConsumeror the consumer throws an exception.forEachFooter(BiConsumer<String, Object> action) Invokes the givenBiConsumeron each footer entry carried in thisMessage.forEachProperty(BiConsumer<String, Object> action) Invokes the givenBiConsumeron each application property entry carried in thisMessage.groupId()Sets the groupId value to assign to thisMessage.intgroupSequence(int groupSequence) Sets the group sequence value to assign to thisMessage.booleanhasAnnotation(String key) Query theMessageto determine if it carries the given message annotation key.booleanQuery theMessageto determine if it carries any message annotations.booleanQuery theMessageto determine if it carries the given footer key.booleanQuery theMessageto determine if it carries any footers.booleanQuery theMessageto determine if it carries any application properties.booleanhasProperty(String key) Query theMessageto determine if it carries the given application property key.header()Return the currentHeaderassigned to this message, if none was assigned yet then this method returnsnull.Assign or replace theHeaderinstance associated with this message.intmessageFormat(int messageFormat) Sets the message format to use when the message is sent.Sets the message Id value to assign to thisMessage.bytepriority()priority(byte priority) Sets the relative message priority.Return the currentPropertiesassigned to this message, if none was assigned yet then this method returnsnull.properties(Properties properties) Assign or replace thePropertiesinstance associated with this message.Returns the requested application property value from thisMessageif it exists or returns null otherwise.Sets the given application property value at the given key, replacing any previous value that was assigned to thisMessage.receiver()removeAnnotation(String key) Removes the given message annotation from the values carried in the message currently, if none was present than this method returnsnull.removeFooter(String key) Removes the given footer from the values carried in the message currently, if none was present than this method returnsnull.removeProperty(String key) Removes the given application property from the values carried in the message currently, if none was present than this method returnsnull.replyTo()Sets the replyTo value to assign to thisMessage.replyToGroupId(String replyToGroupId) Sets the replyTo group Id value to assign to thisMessage.subject()Sets the subject value to assign to thisMessage.longtimeToLive(long timeToLive) Sets the message time to live value.to()Sets the 'to' value to assign to thisMessage.byte[]userId()userId(byte[] userId) Sets the user Id value to assign to thisMessage.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.qpid.protonj2.client.AdvancedMessage
encodeMethods inherited from interface org.apache.qpid.protonj2.client.Message
toAdvancedMessage
-
Method Details
-
receiver
- Specified by:
receiverin interfaceStreamReceiverMessage- Returns:
- the
StreamReceiverthat this context was create under.
-
delivery
- Specified by:
deliveryin interfaceStreamReceiverMessage- Returns:
- the
StreamDeliverythat is associated with the life-cycle of thisStreamReceiverMessage
-
aborted
public boolean aborted()Description copied from interface:StreamReceiverMessageCheck if theStreamDeliverythat was assigned to thisStreamReceiverMessagehas been marked as aborted by the remote.- Specified by:
abortedin interfaceStreamReceiverMessage- Returns:
- true if this context has been marked as aborted previously.
-
completed
public boolean completed()Description copied from interface:StreamReceiverMessageCheck if theStreamDeliverythat was assigned to thisStreamReceiverMessagehas been marked as complete by the remote.- Specified by:
completedin interfaceStreamReceiverMessage- Returns:
- true if this context has been marked as being the complete.
-
messageFormat
- Specified by:
messageFormatin interfaceAdvancedMessage<InputStream>- Returns:
- the currently assigned message format for this message.
- Throws:
ClientException- if an error occurs while retrieving the message data.
-
messageFormat
public StreamReceiverMessage messageFormat(int messageFormat) throws ClientUnsupportedOperationException Description copied from interface:AdvancedMessageSets the message format to use when the message is sent. The exact structure of a message, together with its encoding, is defined by the message format (default is the AMQP defined message format zero.This field MUST be specified for the first transfer of a multi-transfer message, if it is not set at the time of send of the first transfer the sender uses the AMQP default value of zero for this field.
The upper three octets of a message format code identify a particular message format. The lowest octet indicates the version of said message format. Any given version of a format is forwards compatible with all higher versions.
3 octets 1 octet +----------------+---------+ | message format | version | +----------------+---------+ | | msb lsb- Specified by:
messageFormatin interfaceAdvancedMessage<InputStream>- Parameters:
messageFormat- The message format to encode into the transfer frame that carries the message.- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
durable
Description copied from interface:MessageFor an message being sent this method returns the current state of the durable flag on the message. For a received message this method returns the durable flag value at the time of sending (or false if not set) unless the value is updated after being received by the receiver.- Specified by:
durablein interfaceMessage<InputStream>- Returns:
- true if the Message is marked as being durable
- Throws:
ClientException- if an error occurs while reading the given value.
-
durable
Description copied from interface:MessageControls if the message is marked as durable when sent.- Specified by:
durablein interfaceMessage<InputStream>- Parameters:
durable- value assigned to the durable flag for this message.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
priority
- Specified by:
priorityin interfaceMessage<InputStream>- Returns:
- the currently configured priority or the default if none set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
priority
Description copied from interface:MessageSets the relative message priority. Higher numbers indicate higher priority messages. Messages with higher priorities MAY be delivered before those with lower priorities. For a received message this overwrites any value that was set by the remote sender.- Specified by:
priorityin interfaceMessage<InputStream>- Parameters:
priority- The priority value to assign this message.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
timeToLive
- Specified by:
timeToLivein interfaceMessage<InputStream>- Returns:
- the currently set Time To Live duration (milliseconds).
- Throws:
ClientException- if an error occurs while reading the given value.
-
timeToLive
Description copied from interface:MessageSets the message time to live value.The time to live duration in milliseconds for which the message is to be considered "live". If this is set then a message expiration time will be computed based on the time of arrival at an intermediary. Messages that live longer than their expiration time will be discarded (or dead lettered). When a message is transmitted by an intermediary that was received with a time to live, the transmitted message's header SHOULD contain a time to live that is computed as the difference between the current time and the formerly computed message expiration time, i.e., the reduced time to live, so that messages will eventually die if they end up in a delivery loop.
- Specified by:
timeToLivein interfaceMessage<InputStream>- Parameters:
timeToLive- The time span in milliseconds that this message should remain live before being discarded.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
firstAcquirer
- Specified by:
firstAcquirerin interfaceMessage<InputStream>- Returns:
- if this message has been acquired by another link previously
- Throws:
ClientException- if an error occurs while reading the given value.
-
firstAcquirer
public StreamReceiverMessage firstAcquirer(boolean firstAcquirer) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the value to assign to the first acquirer field of thisMessage.If this value is true, then this message has not been acquired by any other link. If this value is false, then this message MAY have previously been acquired by another link or links.
- Specified by:
firstAcquirerin interfaceMessage<InputStream>- Parameters:
firstAcquirer- The boolean value to assign to the first acquirer field of the message.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
deliveryCount
- Specified by:
deliveryCountin interfaceMessage<InputStream>- Returns:
- the number of failed delivery attempts that this message has been part of.
- Throws:
ClientException- if an error occurs while reading the given value.
-
deliveryCount
public StreamReceiverMessage deliveryCount(long deliveryCount) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the value to assign to the delivery count field of thisMessage.Delivery count is the number of unsuccessful previous attempts to deliver this message. If this value is non-zero it can be taken as an indication that the delivery might be a duplicate. On first delivery, the value is zero. It is incremented upon an outcome being settled at the sender, according to rules defined for each outcome.
- Specified by:
deliveryCountin interfaceMessage<InputStream>- Parameters:
deliveryCount- The new delivery count value to assign to this message.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
header
Description copied from interface:AdvancedMessageReturn the currentHeaderassigned to this message, if none was assigned yet then this method returnsnull.- Specified by:
headerin interfaceAdvancedMessage<InputStream>- Returns:
- the currently assigned
Headerfor this message. - Throws:
ClientException- if an error occurs while retrieving the message data.
-
header
Description copied from interface:AdvancedMessageAssign or replace theHeaderinstance associated with this message.- Specified by:
headerin interfaceAdvancedMessage<InputStream>- Parameters:
header- TheHeadervalue to assign to this message.- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
messageId
- Specified by:
messageIdin interfaceMessage<InputStream>- Returns:
- the currently set Message ID or null if none set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
messageId
Description copied from interface:MessageSets the message Id value to assign to thisMessage.The message Id, if set, uniquely identifies a message within the message system. The message producer is usually responsible for setting the message-id in such a way that it is assured to be globally unique. A remote peer MAY discard a message as a duplicate if the value of the message-id matches that of a previously received message sent to the same node.
- Specified by:
messageIdin interfaceMessage<InputStream>- Parameters:
messageId- The message Id value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
userId
- Specified by:
userIdin interfaceMessage<InputStream>- Returns:
- the currently set User ID or null if none set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
userId
Description copied from interface:MessageSets the user Id value to assign to thisMessage.The identity of the user responsible for producing the message. The client sets this value, and it MAY be authenticated by intermediaries.
- Specified by:
userIdin interfaceMessage<InputStream>- Parameters:
userId- The user Id value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
to
- Specified by:
toin interfaceMessage<InputStream>- Returns:
- the currently set 'To' address which indicates the intended destination of the message.
- Throws:
ClientException- if an error occurs while reading the given value.
-
to
Description copied from interface:MessageSets the 'to' value to assign to thisMessage.The to field identifies the node that is the intended destination of the message. On any given transfer this might not be the node at the receiving end of the link.
- Specified by:
toin interfaceMessage<InputStream>- Parameters:
to- The 'to' node value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
subject
- Specified by:
subjectin interfaceMessage<InputStream>- Returns:
- the currently set subject metadata for this message or null if none set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
subject
Description copied from interface:MessageSets the subject value to assign to thisMessage.A common field for summary information about the message content and purpose.
- Specified by:
subjectin interfaceMessage<InputStream>- Parameters:
subject- The subject node value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
replyTo
- Specified by:
replyToin interfaceMessage<InputStream>- Returns:
- the configured address of the node where replies to this message should be sent, or null if not set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
replyTo
Description copied from interface:MessageSets the replyTo value to assign to thisMessage.The address of the node to send replies to.
- Specified by:
replyToin interfaceMessage<InputStream>- Parameters:
replyTo- The replyTo node value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
correlationId
- Specified by:
correlationIdin interfaceMessage<InputStream>- Returns:
- the currently assigned correlation ID or null if none set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
correlationId
public StreamReceiverMessage correlationId(Object correlationId) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the correlationId value to assign to thisMessage.This is a client-specific id that can be used to mark or identify messages between clients.
- Specified by:
correlationIdin interfaceMessage<InputStream>- Parameters:
correlationId- The correlationId value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
contentType
- Specified by:
contentTypein interfaceMessage<InputStream>- Returns:
- the assigned content type value for the message body section or null if not set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
contentType
public StreamReceiverMessage contentType(String contentType) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the contentType value to assign to thisMessage.The RFC-2046 MIME type for the message's application-data section (body). As per RFC-2046 this can contain a charset parameter defining the character encoding used: e.g., 'text/plain; charset="utf-8"'.
For clarity, as per section 7.2.1 of RFC-2616, where the content type is unknown the content-type SHOULD NOT be set. This allows the recipient the opportunity to determine the actual type. Where the section is known to be truly opaque binary data, the content-type SHOULD be set to application/octet-stream.
When using an application-data section with a section code other than data, content-type SHOULD NOT be set.
- Specified by:
contentTypein interfaceMessage<InputStream>- Parameters:
contentType- The contentType value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
contentEncoding
- Specified by:
contentEncodingin interfaceMessage<InputStream>- Returns:
- the assigned content encoding value for the message body section or null if not set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
contentEncoding
public Message<?> contentEncoding(String contentEncoding) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the contentEncoding value to assign to thisMessage.The content-encoding property is used as a modifier to the content-type. When present, its value indicates what additional content encodings have been applied to the application-data, and thus what decoding mechanisms need to be applied in order to obtain the media-type referenced by the content-type header field.
Content-encoding is primarily used to allow a document to be compressed without losing the identity of its underlying content type.
Content-encodings are to be interpreted as per section 3.5 of RFC 2616 [RFC2616]. Valid content-encodings are registered at IANA [IANAHTTPPARAMS].
The content-encoding MUST NOT be set when the application-data section is other than data. The binary representation of all other application-data section types is defined completely in terms of the AMQP type system.
Implementations MUST NOT use the identity encoding. Instead, implementations SHOULD NOT set this property. Implementations SHOULD NOT use the compress encoding, except as to remain compatible with messages originally sent with other protocols, e.g. HTTP or SMTP.
Implementations SHOULD NOT specify multiple content-encoding values except as to be compatible with messages originally sent with other protocols, e.g. HTTP or SMTP.
- Specified by:
contentEncodingin interfaceMessage<InputStream>- Parameters:
contentEncoding- The contentEncoding value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
absoluteExpiryTime
- Specified by:
absoluteExpiryTimein interfaceMessage<InputStream>- Returns:
- the configured absolute time of expiration for this message.
- Throws:
ClientException- if an error occurs while reading the given value.
-
absoluteExpiryTime
public StreamReceiverMessage absoluteExpiryTime(long expiryTime) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the absolute expiration time value to assign to thisMessage.An absolute time when this message is considered to be expired.
- Specified by:
absoluteExpiryTimein interfaceMessage<InputStream>- Parameters:
expiryTime- The absolute expiration time value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
creationTime
- Specified by:
creationTimein interfaceMessage<InputStream>- Returns:
- the absolute time of creation for this message.
- Throws:
ClientException- if an error occurs while reading the given value.
-
creationTime
public StreamReceiverMessage creationTime(long createTime) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the creation time value to assign to thisMessage.An absolute time when this message was created.
- Specified by:
creationTimein interfaceMessage<InputStream>- Parameters:
createTime- The creation time value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
groupId
- Specified by:
groupIdin interfaceMessage<InputStream>- Returns:
- the assigned group ID for this message or null if not set.
- Throws:
ClientException- if an error occurs while reading the given value.
-
groupId
Description copied from interface:MessageSets the groupId value to assign to thisMessage.Identifies the group the message belongs to.
- Specified by:
groupIdin interfaceMessage<InputStream>- Parameters:
groupId- The groupId value to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
groupSequence
- Specified by:
groupSequencein interfaceMessage<InputStream>- Returns:
- the assigned group sequence for this message.
- Throws:
ClientException- if an error occurs while reading the given value.
-
groupSequence
public StreamReceiverMessage groupSequence(int groupSequence) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the group sequence value to assign to thisMessage.The relative position of this message within its group.
- Specified by:
groupSequencein interfaceMessage<InputStream>- Parameters:
groupSequence- The group sequence to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
replyToGroupId
- Specified by:
replyToGroupIdin interfaceMessage<InputStream>- Returns:
- the client-specific id used so that client can send replies to this message to a specific group.
- Throws:
ClientException- if an error occurs while reading the given value.
-
replyToGroupId
public StreamReceiverMessage replyToGroupId(String replyToGroupId) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the replyTo group Id value to assign to thisMessage.This is a client-specific id that is used so that client can send replies to this message to a specific group.
- Specified by:
replyToGroupIdin interfaceMessage<InputStream>- Parameters:
replyToGroupId- The replyTo group Id to assign to thisMessageinstance.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
properties
Description copied from interface:AdvancedMessageReturn the currentPropertiesassigned to this message, if none was assigned yet then this method returnsnull.- Specified by:
propertiesin interfaceAdvancedMessage<InputStream>- Returns:
- the currently assigned
Propertiesfor this message. - Throws:
ClientException- if an error occurs while retrieving the message data.
-
properties
public StreamReceiverMessage properties(Properties properties) throws ClientUnsupportedOperationException Description copied from interface:AdvancedMessageAssign or replace thePropertiesinstance associated with this message.- Specified by:
propertiesin interfaceAdvancedMessage<InputStream>- Parameters:
properties- ThePropertiesvalue to assign to this message.- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
annotation
Description copied from interface:MessageReturns the requested message annotation value from thisMessageif it exists or returns null otherwise.- Specified by:
annotationin interfaceMessage<InputStream>- Parameters:
key- The key of the message annotation to query for.- Returns:
- the corresponding message annotation value of null if none was carried in this
Message. - Throws:
ClientException- if an error occurs accessing the message annotations in thisMessage.
-
hasAnnotation
Description copied from interface:MessageQuery theMessageto determine if it carries the given message annotation key.- Specified by:
hasAnnotationin interfaceMessage<InputStream>- Parameters:
key- The key of the message annotation to query for.- Returns:
trueif the Message carries the given message annotation.- Throws:
ClientException- if an error occurs accessing the message annotations in thisMessage.
-
hasAnnotations
Description copied from interface:MessageQuery theMessageto determine if it carries any message annotations.- Specified by:
hasAnnotationsin interfaceMessage<InputStream>- Returns:
trueif the Message carries any message annotations.- Throws:
ClientException- if an error occurs accessing the message annotations in thisMessage.
-
removeAnnotation
Description copied from interface:MessageRemoves the given message annotation from the values carried in the message currently, if none was present than this method returnsnull.- Specified by:
removeAnnotationin interfaceMessage<InputStream>- Parameters:
key- The key of the message annotation to query for removal.- Returns:
- the message annotation value that was previously assigned to that key.
- Throws:
ClientUnsupportedOperationException
-
forEachAnnotation
public StreamReceiverMessage forEachAnnotation(BiConsumer<String, Object> action) throws ClientExceptionDescription copied from interface:MessageInvokes the givenBiConsumeron each message annotation entry carried in thisMessage.- Specified by:
forEachAnnotationin interfaceMessage<InputStream>- Parameters:
action- The action that will be invoked on each message annotation entry.- Returns:
- this
Messageinstance. - Throws:
ClientException- if an error occurs accessing the message annotations in thisMessage.
-
annotation
public StreamReceiverMessage annotation(String key, Object value) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the given message annotation value at the given key, replacing any previous value that was assigned to thisMessage.- Specified by:
annotationin interfaceMessage<InputStream>- Parameters:
key- The message annotation key where the value is to be assigned.value- The value to assign to the given message annotation key.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
annotations
Description copied from interface:AdvancedMessageReturn the currentMessageAnnotationsassigned to this message, if none was assigned yet then this method returnsnull.- Specified by:
annotationsin interfaceAdvancedMessage<InputStream>- Returns:
- the currently assigned
MessageAnnotationsfor this message. - Throws:
ClientException- if an error occurs while retrieving the message data.
-
annotations
public StreamReceiverMessage annotations(MessageAnnotations messageAnnotations) throws ClientUnsupportedOperationException Description copied from interface:AdvancedMessageAssign or replace theMessageAnnotationsinstance associated with this message.- Specified by:
annotationsin interfaceAdvancedMessage<InputStream>- Parameters:
messageAnnotations- TheMessageAnnotationsvalue to assign to this message.- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
property
Description copied from interface:MessageReturns the requested application property value from thisMessageif it exists or returns null otherwise.- Specified by:
propertyin interfaceMessage<InputStream>- Parameters:
key- The key of the application property to query for.- Returns:
- the corresponding application property value of null if none was carried in this
Message. - Throws:
ClientException- if an error occurs accessing the application properties in thisMessage.
-
hasProperty
Description copied from interface:MessageQuery theMessageto determine if it carries the given application property key.- Specified by:
hasPropertyin interfaceMessage<InputStream>- Parameters:
key- The key of the application property to query for.- Returns:
trueif the Message carries the given application property.- Throws:
ClientException- if an error occurs accessing the application properties in thisMessage.
-
hasProperties
Description copied from interface:MessageQuery theMessageto determine if it carries any application properties.- Specified by:
hasPropertiesin interfaceMessage<InputStream>- Returns:
trueif the Message carries any application properties.- Throws:
ClientException- if an error occurs accessing the application properties in thisMessage.
-
removeProperty
Description copied from interface:MessageRemoves the given application property from the values carried in the message currently, if none was present than this method returnsnull.- Specified by:
removePropertyin interfaceMessage<InputStream>- Parameters:
key- The key of the application property to query for removal.- Returns:
- the application property value that was previously assigned to that key.
- Throws:
ClientUnsupportedOperationException
-
forEachProperty
public StreamReceiverMessage forEachProperty(BiConsumer<String, Object> action) throws ClientExceptionDescription copied from interface:MessageInvokes the givenBiConsumeron each application property entry carried in thisMessage.- Specified by:
forEachPropertyin interfaceMessage<InputStream>- Parameters:
action- The action that will be invoked on each application property entry.- Returns:
- this
Messageinstance. - Throws:
ClientException- if an error occurs accessing the application properties in thisMessage.
-
property
public StreamReceiverMessage property(String key, Object value) throws ClientUnsupportedOperationException Description copied from interface:MessageSets the given application property value at the given key, replacing any previous value that was assigned to thisMessage.- Specified by:
propertyin interfaceMessage<InputStream>- Parameters:
key- The application property key where the value is to be assigned.value- The value to assign to the given application property key.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
applicationProperties
Description copied from interface:AdvancedMessageReturn the currentApplicationPropertiesassigned to this message, if none was assigned yet then this method returnsnull.- Specified by:
applicationPropertiesin interfaceAdvancedMessage<InputStream>- Returns:
- the currently assigned
ApplicationPropertiesfor this message. - Throws:
ClientException- if an error occurs while retrieving the message data.
-
applicationProperties
public StreamReceiverMessage applicationProperties(ApplicationProperties applicationProperties) throws ClientUnsupportedOperationException Description copied from interface:AdvancedMessageAssign or replace theApplicationPropertiesinstance associated with this message.- Specified by:
applicationPropertiesin interfaceAdvancedMessage<InputStream>- Parameters:
applicationProperties- TheApplicationPropertiesvalue to assign to this message.- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
addBodySection
public StreamReceiverMessage addBodySection(Section<?> bodySection) throws ClientUnsupportedOperationException Description copied from interface:AdvancedMessageAdds the givenSectionto the internal collection of sections that will be sent to the remote peer when this message is encoded. If a previous section was added by a call to theMessage.body(Object)method it should be retained as the first element of the running list of body sections contained in this message.The implementation should make an attempt to validate that sections added are valid for the message format that is assigned when they are added.
- Specified by:
addBodySectionin interfaceAdvancedMessage<InputStream>- Parameters:
bodySection- TheSectioninstance to append to the internal collection.- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
bodySections
public StreamReceiverMessage bodySections(Collection<Section<?>> sections) throws ClientUnsupportedOperationException Description copied from interface:AdvancedMessageSets the bodySectioninstances to use when encoding this message. The value given replaces any existing sections assigned to this message through theMessage.body(Object)orAdvancedMessage.addBodySection(Section)methods. Calling this method with a null or empty collection is equivalent to calling theAdvancedMessage.clearBodySections()method.- Specified by:
bodySectionsin interfaceAdvancedMessage<InputStream>- Parameters:
sections- TheCollectionofSectioninstance to assign this message.- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
bodySections
Description copied from interface:AdvancedMessageCreate and return an unmodifiableCollectionthat contains theSectioninstances currently assigned to this message. Changes to this message body after calling this will not be reflected in the returned collection.- Specified by:
bodySectionsin interfaceAdvancedMessage<InputStream>- Returns:
- an unmodifiable
Collectionthat is a view of the current sections assigned to this message. - Throws:
ClientUnsupportedOperationException
-
forEachBodySection
public StreamReceiverMessage forEachBodySection(Consumer<Section<?>> consumer) throws ClientUnsupportedOperationException Description copied from interface:AdvancedMessagePerforms the given action for each bodySectionof theAdvancedMessageuntil all sections have been presented to the givenConsumeror the consumer throws an exception.- Specified by:
forEachBodySectionin interfaceAdvancedMessage<InputStream>- Parameters:
consumer- theConsumerthat will operate on each of the body sections in this message.- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
clearBodySections
Description copied from interface:AdvancedMessageClears all current bodySectionelements from theAdvancedMessage.- Specified by:
clearBodySectionsin interfaceAdvancedMessage<InputStream>- Returns:
- this
AdvancedMessageinstance. - Throws:
ClientUnsupportedOperationException
-
body
Description copied from interface:MessageReturns the body value that is conveyed in this message or null if no body was set locally or sent from the remote if this is an incoming message.- Specified by:
bodyin interfaceMessage<InputStream>- Returns:
- the message body value or null if none present.
- Throws:
ClientException- if the implementation can't provide a body for some reason.
-
body
Description copied from interface:MessageSets the body value that is to be conveyed to the remote when this message is sent.The
Messageimplementation will choose the AMQPSectionto use to wrap the given value.- Specified by:
bodyin interfaceMessage<InputStream>- Parameters:
value- The value to assign to the given message bodySection.- Returns:
- this
Messageinstance. - Throws:
ClientUnsupportedOperationException
-
encode
public ProtonBuffer encode(Map<String, Object> deliveryAnnotations, ProtonBufferAllocator allocator) throws ClientUnsupportedOperationExceptionDescription copied from interface:AdvancedMessageEncodes theAdvancedMessagefor transmission by the client. The providedDeliveryAnnotationscan be included or augmented by theAdvancedMessageimplementation based on the target message format. The implementation is responsible for ensuring that the delivery annotations are treated correctly encoded into the correct location in the message.- Specified by:
encodein interfaceAdvancedMessage<InputStream>- Parameters:
deliveryAnnotations- AMapof delivery annotation values that were requested to be included in the transmitted message.allocator- An allocator that should be used to create the buffer the message is encoded into.- Returns:
- the encoded form of this message in a
ProtonBufferinstance. - Throws:
ClientUnsupportedOperationException
-