public class MultiPayloadAdaptrisMessageImp extends AdaptrisMessageImp implements MultiPayloadAdaptrisMessage
MultiPayloadAdaptrisMessage
implementation created by
MultiPayloadMessageFactory
.MultiPayloadAdaptrisMessage
,
MultiPayloadMessageFactory
,
AdaptrisMessageImp
DEFAULT_PAYLOAD_ID
Modifier | Constructor and Description |
---|---|
protected |
MultiPayloadAdaptrisMessageImp(@NotNull java.lang.String payloadId,
IdGenerator guid,
AdaptrisMessageFactory messageFactory) |
protected |
MultiPayloadAdaptrisMessageImp(@NotNull java.lang.String payloadId,
IdGenerator guid,
AdaptrisMessageFactory messageFactory,
byte[] payload) |
protected |
MultiPayloadAdaptrisMessageImp(@NotNull java.lang.String payloadId,
IdGenerator guid,
AdaptrisMessageFactory messageFactory,
java.lang.String content,
java.nio.charset.Charset encoding) |
Modifier and Type | Method and Description |
---|---|
void |
addContent(@NotNull java.lang.String payloadId,
java.lang.String payloadString)
Add a new payload to the message, with the given ID and content.
|
void |
addContent(@NotNull java.lang.String payloadId,
java.lang.String payloadString,
java.lang.String charEnc)
Add a new payload to the message, with the given ID and content and encoding.
|
void |
addPayload(@NotNull java.lang.String payloadId,
byte[] bytes)
Add a new payload to the message, with the given ID and data.
|
java.lang.Object |
clone()
Returns a deep clone of this object.
|
void |
deletePayload(@NotNull java.lang.String payloadId)
Delete an existing payload, with the given payload ID.
|
boolean |
equivalentForTracking(AdaptrisMessage o)
AdaptrisMessage 's are equivalent for tracking if they
have the same unique Id, their payloads are equal, their char encodings are
equal and their metadata is equal. |
java.lang.String |
getContent()
Get the current payload content.
|
java.lang.String |
getContent(@NotNull java.lang.String payloadId)
Get the payload content for the given ID.
|
java.lang.String |
getContentEncoding()
.
|
java.lang.String |
getContentEncoding(@NotNull java.lang.String payloadId)
Get the content encoding for the given payload ID.
|
java.lang.String |
getCurrentPayloadId()
Get the ID of the current payload.
|
java.io.InputStream |
getInputStream() |
java.io.InputStream |
getInputStream(@NotNull java.lang.String payloadId)
Get the input stream for the given payload ID.
|
java.io.OutputStream |
getOutputStream() |
java.io.OutputStream |
getOutputStream(@NotNull java.lang.String payloadId)
Get the output stream for the given payload ID.
|
byte[] |
getPayload()
Get the current payload data.
|
byte[] |
getPayload(@NotNull java.lang.String payloadId)
Get the payload data for the given ID.
|
int |
getPayloadCount()
Return the number of payloads contained within the message.
|
java.util.Set<java.lang.String> |
getPayloadIDs()
Get the payload IDs used within this message.
|
long |
getSize()
Get the current payload size.
|
long |
getSize(@NotNull java.lang.String payloadId)
Get the size of the payload for the given ID.
|
boolean |
hasPayloadId(@NotNull java.lang.String payloadId)
Indicates whether the given payload ID exists in the message.
|
java.lang.String |
resolve(java.lang.String s,
boolean dotAll)
Resolve against this message's payloads or metadata.
|
void |
setContent(java.lang.String payloadString,
java.lang.String charEnc)
Set the current payload content.
|
void |
setContentEncoding(java.lang.String enc)
.
|
void |
setContentEncoding(@NotNull java.lang.String payloadId,
java.lang.String enc)
Set the payload content encoding for the given payload ID.
|
void |
setCurrentPayloadId(@NotNull java.lang.String payloadId)
Update the ID of the current payload.
|
void |
setPayload(byte[] bytes)
Set the current payload data.
|
void |
switchPayload(@NotNull java.lang.String payloadId)
Switch from one payload to another, given by the ID.
|
addEvent, addMessageHeader, addMetadata, addMetadata, addObjectHeader, areEqual, clearMetadata, copyPayload, encode, getFactory, getMessageHeaders, getMessageLifecycleEvent, getMetadata, getMetadata, getMetadataValue, getMetadataValueIgnoreKeyCase, getNextServiceId, getObjectHeaders, getReader, getUniqueId, getWriter, getWriter, headersContainsKey, removeMessageHeader, removeMetadata, setMessageHeaders, setMetadata, setNextServiceId, setUniqueId, toString, toString, toString
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addEvent, addMetadata, addMetadata, addObjectMetadata, clearMetadata, containsKey, encode, getCharEncoding, getFactory, getMessageLifecycleEvent, getMetadata, getMetadata, getMetadataValue, getMetadataValueIgnoreKeyCase, getNextServiceId, getObjectMetadata, getPayloadForLogging, getStringPayload, removeMetadata, setCharEncoding, setMetadata, setNextServiceId, setStringPayload, setStringPayload, toString, toString
addMessageHeader, addObjectHeader, getMessageHeaders, getObjectHeaders, getReader, getUniqueId, getWriter, getWriter, headersContainsKey, removeMessageHeader, resolve, setMessageHeaders, setUniqueId, wrap
protected MultiPayloadAdaptrisMessageImp(@NotNull @NotNull java.lang.String payloadId, IdGenerator guid, AdaptrisMessageFactory messageFactory)
protected MultiPayloadAdaptrisMessageImp(@NotNull @NotNull java.lang.String payloadId, IdGenerator guid, AdaptrisMessageFactory messageFactory, byte[] payload)
protected MultiPayloadAdaptrisMessageImp(@NotNull @NotNull java.lang.String payloadId, IdGenerator guid, AdaptrisMessageFactory messageFactory, java.lang.String content, java.nio.charset.Charset encoding)
public void switchPayload(@NotNull @NotNull java.lang.String payloadId)
switchPayload
in interface MultiPayloadAdaptrisMessage
payloadId
- The ID of the payload to switch to.public boolean hasPayloadId(@NotNull @NotNull java.lang.String payloadId)
hasPayloadId
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID to check.public void setCurrentPayloadId(@NotNull @NotNull java.lang.String payloadId)
setCurrentPayloadId
in interface MultiPayloadAdaptrisMessage
payloadId
- The new payload ID.public java.lang.String getCurrentPayloadId()
getCurrentPayloadId
in interface MultiPayloadAdaptrisMessage
public java.util.Set<java.lang.String> getPayloadIDs()
getPayloadIDs
in interface MultiPayloadAdaptrisMessage
public boolean equivalentForTracking(AdaptrisMessage o)
AdaptrisMessage
AdaptrisMessage
's are equivalent for tracking if they
have the same unique Id, their payloads are equal, their char encodings are
equal and their metadata is equal. NB equality of metadata is based on key
only.
equivalentForTracking
in interface AdaptrisMessage
o
- the message to compare(com.adaptris.core.AdaptrisMessage).
public void setPayload(byte[] bytes)
setPayload
in interface AdaptrisMessage
bytes
- The payload data.AdaptrisMessage.setPayload(byte[])
public void addPayload(@NotNull @NotNull java.lang.String payloadId, byte[] bytes)
addPayload
in interface MultiPayloadAdaptrisMessage
payloadId
- The new payload ID.bytes
- The payload data.public void deletePayload(@NotNull @NotNull java.lang.String payloadId)
deletePayload
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID.public byte[] getPayload()
getPayload
in interface AdaptrisMessage
AdaptrisMessage.getPayload()
public byte[] getPayload(@NotNull @NotNull java.lang.String payloadId)
getPayload
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID.public long getSize()
getSize
in interface AdaptrisMessage
AdaptrisMessage.getSize()
public int getPayloadCount()
getPayloadCount
in interface MultiPayloadAdaptrisMessage
public long getSize(@NotNull @NotNull java.lang.String payloadId)
getSize
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID.public void setContent(java.lang.String payloadString, java.lang.String charEnc)
setContent
in interface InterlokMessage
payloadString
- The payload content.charEnc
- The content encoding.InterlokMessage.setContent(String, String)
public void addContent(@NotNull @NotNull java.lang.String payloadId, java.lang.String payloadString)
addContent
in interface MultiPayloadAdaptrisMessage
payloadId
- The new payload ID.payloadString
- The payload content.public void addContent(@NotNull @NotNull java.lang.String payloadId, java.lang.String payloadString, java.lang.String charEnc)
addContent
in interface MultiPayloadAdaptrisMessage
payloadId
- The new payload ID.payloadString
- The payload content.charEnc
- The content encoding.public java.lang.String getContent()
getContent
in interface InterlokMessage
InterlokMessage.getContent()
public java.lang.String getContent(@NotNull @NotNull java.lang.String payloadId)
getContent
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID.public void setContentEncoding(java.lang.String enc)
setContentEncoding
in interface InterlokMessage
setContentEncoding
in class AdaptrisMessageImp
InterlokMessage.setContentEncoding(String)
public void setContentEncoding(@NotNull @NotNull java.lang.String payloadId, java.lang.String enc)
setContentEncoding
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID.enc
- The content encoding.public java.lang.String getContentEncoding()
getContentEncoding
in interface InterlokMessage
getContentEncoding
in class AdaptrisMessageImp
InterlokMessage.getContentEncoding()
public java.lang.String getContentEncoding(@NotNull @NotNull java.lang.String payloadId)
getContentEncoding
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID.public java.lang.Object clone() throws java.lang.CloneNotSupportedException
AdaptrisMessage
Returns a deep clone of this object.
clone
in interface AdaptrisMessage
clone
in class AdaptrisMessageImp
java.lang.CloneNotSupportedException
- if the implementation does not support
cloningObject.clone()
public java.io.InputStream getInputStream()
getInputStream
in interface InterlokMessage
InterlokMessage.getInputStream()
public java.io.InputStream getInputStream(@NotNull @NotNull java.lang.String payloadId)
getInputStream
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID.public java.io.OutputStream getOutputStream()
getOutputStream
in interface InterlokMessage
InterlokMessage.getOutputStream()
public java.io.OutputStream getOutputStream(@NotNull @NotNull java.lang.String payloadId)
getOutputStream
in interface MultiPayloadAdaptrisMessage
payloadId
- The payload ID.public java.lang.String resolve(java.lang.String s, boolean dotAll)
This is a helper method that allows you to pass in %payload_id{pl1}
and get the payload associated with pl1
, or %message{key1}
and get the metadata associated with key1
. Strings that do not match
that format will be returned as is. Support for punctuation characters is
down to the implementation; the standard implementations only support a
limited subset of punctuation characters in addition to standard word
characters ([a-zA-Z_0-9]
); they are _!"#&'+,-.:=
. The magic
values %message{%uniqueId}
and %message{%size}
should return
the message unique-id and message size respectively
resolve
in interface InterlokMessage
resolve
in class AdaptrisMessageImp
s
- The string to resolve.dotAll
- Whether to resolve in Pattern.DOTALL
mode,
allowing you to match against multiple lines.