@Entity(name="mt") public class MtSwiftMessage extends AbstractSwiftMessage
Contains the raw FIN message content plus metadata shared by all MT types.
identifier, IDENTIFIER_ACK, IDENTIFIER_NAK, PROPERTY_NAME, receiver, sender
Constructor and Description |
---|
MtSwiftMessage() |
MtSwiftMessage(AbstractMT mt)
|
MtSwiftMessage(AbstractMT mt,
MessageMetadataStrategy metadataStrategy)
Creates an MtSwiftMessage from a subclass of
AbstractMT . |
MtSwiftMessage(java.io.File file)
|
MtSwiftMessage(java.io.File file,
MessageMetadataStrategy metadataStrategy)
Creates a new message reading the message the content from a file.
|
MtSwiftMessage(java.io.InputStream stream)
|
MtSwiftMessage(java.io.InputStream stream,
MessageMetadataStrategy metadataStrategy)
Creates a new message reading the message the content from an input stream.
|
MtSwiftMessage(java.lang.String fin)
|
MtSwiftMessage(java.lang.String fin,
MessageMetadataStrategy metadataStrategy)
Creates a new MT entity reading the message content from the plain message content.
|
MtSwiftMessage(SwiftMessage model)
|
MtSwiftMessage(SwiftMessage model,
MessageMetadataStrategy metadataStrategy)
Creates an MtSwiftMessage from a SwiftMessage.
|
Modifier and Type | Method and Description |
---|---|
void |
copyTo(MtSwiftMessage msg)
Creates a full copy of the current message object into another message.
|
boolean |
equals(java.lang.Object o) |
static MtSwiftMessage |
fromJson(java.lang.String json)
This method deserializes the JSON data into an MT message object.
|
java.lang.String |
getCategory()
For MT messages returns the category number and for MX messages return the business process.
|
java.lang.String |
getMessageName()
Get the value of the property under the
AbstractSwiftMessage.PROPERTY_NAME key or the result of AbstractSwiftMessage.getMessageType() |
java.lang.Integer |
getMessageTypeInt()
Get the integer value of the
AbstractSwiftMessage.getMessageType()
or null if the identifier attribute is not set or not a number. |
java.lang.String |
getMir()
Gets the MIR (Message Input Reference)
|
MtId |
getMtId()
Returns this message MT identification
|
java.lang.String |
getMur()
Gets the MUR (Message User Reference) from block 3
|
java.lang.String |
getPde()
Gets PDE (Possible Duplicate Emission) flag from the trailer block or null if the trailer or the PDE field is not present
|
java.lang.String |
getPdm()
Gets PDM from the trailer block or null if the trailer or the PDM field is not present
|
java.lang.String |
getUuid()
Gets a UUID (User Unique Identifier).
|
MTVariant |
getVariant()
Returns the message type variant
|
int |
hashCode() |
boolean |
isType(int type)
Test if this message is a given specific type.
|
boolean |
isType(java.lang.Integer... type)
Tell if this message is any of the given types.
|
SwiftMessage |
modelMessage()
Parses the raw message content into a
SwiftMessage object. |
static MtSwiftMessage |
parse(java.io.File file)
Creates a new message reading the message the content from a file.
|
static MtSwiftMessage |
parse(java.io.InputStream stream)
Creates a new message reading the message the content from an input stream.
|
static MtSwiftMessage |
parse(java.lang.String fin)
Creates a new message reading the message the content from a string.
|
void |
setMir(java.lang.String mir)
Sets the MIR attribute.
|
void |
setMur(java.lang.String mur)
Sets the MUR attribute.
|
void |
setPde(java.lang.String pde)
Sets the PDE attribute.
|
void |
setPdm(java.lang.String pdm)
Sets the PDM attribute.
|
void |
setUuid(java.lang.String uuid)
Sets a UUID.
|
java.lang.String |
toString() |
void |
updateFromFIN()
Deprecated.
Use
updateFromFIN(String) instead |
void |
updateFromFIN(java.lang.String fin)
|
void |
updateFromFIN(java.lang.String fin,
MessageMetadataStrategy metadataStrategy)
Updates the the attributes with the raw message and its metadata from the given raw (FIN) message content.
|
protected void |
updateFromMessage()
|
protected void |
updateFromMessage(MessageMetadataStrategy metadataStrategy)
Updates the object attributes with metadata parsed from the message raw content using the provided strategy
implementation for several of the metadata fields.
|
void |
updateFromModel(AbstractMT mt)
|
void |
updateFromModel(AbstractMT mt,
MessageMetadataStrategy metadataStrategy)
The AbstractMT is serialized to its FIN raw format to set the internal raw message attribute.
|
void |
updateFromModel(SwiftMessage model)
|
void |
updateFromModel(SwiftMessage model,
MessageMetadataStrategy metadataStrategy)
The SwiftMessage is serialized to its FIN raw format to set the internal raw message attribute.
|
void |
updateMetadata(MessageMetadataStrategy strategy)
Enables injecting your own implementation for the entity metadata extraction, to set the generic properties
shared by all message types: main reference, main amount and currency, value date, trade date.
|
addNote, addRevision, addStatus, bic11, contains, contains, copyTo, createRevision, findStatusInfo, findStatusInfo, findStatusInfoLast, findStatusInfoLast, formattedAmount, formattedAmount, getAmount, getChecksum, getChecksumBody, getCorrespondentBIC, getCreationDate, getCreationDayOfMonth, getCreationMonth, getCreationYear, getCurrency, getDirection, getFileFormat, getFilename, getId, getIdentifier, getLastData, getLastData, getLastModified, getMessage, getMessageType, getNotes, getPaddedId, getPreviousStatusInfo, getProperties, getProperty, getProperty, getPropertyBoolean, getPropertyBoolean, getReceiver, getReference, getRevisions, getSender, getStatus, getStatusInfo, getStatusTrail, getTradeDate, getValueDate, identifiedAsACK, identifiedAsNAK, isIncoming, isInput, isMT, isMX, isOutgoing, isOutput, isStatus, isStatus, isStatus, isStatus, match, message, messageStandardType, propertyEquals, propertyEquals, propertyEquals, sanityCheckProperties, setAmount, setChecksum, setChecksumBody, setCreationDate, setCurrency, setDirection, setFileFormat, setFilename, setId, setIdentifier, setLastModified, setMessage, setNotes, setProperties, setProperty, setProperty, setReceiver, setReference, setRevisions, setSender, setStatus, setStatus, setStatusTrail, setTradeDate, setValueDate, toJson, toJsonImpl
public MtSwiftMessage()
public MtSwiftMessage(java.lang.String fin)
fin
- the plain FIN message contentpublic MtSwiftMessage(java.lang.String fin, MessageMetadataStrategy metadataStrategy)
If the FIN content contains several messages (because it is an RJE batch file for example) then the whole content will be stored in the message attribute but the metadata (such as the message type) will be extracted from the first message only.
Notice that if an ACK/NAK message is used as parameter, this object will represent the ACK/NAK. Even if the original message is attached after the service 21 messages.
File format is set to FileFormat.FIN
fin
- the plain FIN message contentmetadataStrategy
- a strategy for metadata extractionpublic MtSwiftMessage(java.io.InputStream stream) throws java.io.IOException
stream
- input stream to readjava.io.IOException
- on error during file readingpublic MtSwiftMessage(java.io.InputStream stream, MessageMetadataStrategy metadataStrategy) throws java.io.IOException
FileFormat.FIN
.stream
- input stream to readmetadataStrategy
- a strategy for metadata extractionjava.io.IOException
- on error during file readingpublic MtSwiftMessage(java.io.File file) throws java.io.IOException
file
- file holding message contentjava.io.IOException
- on error during file readingpublic MtSwiftMessage(java.io.File file, MessageMetadataStrategy metadataStrategy) throws java.io.IOException
FileFormat.FIN
file
- file holding message contentmetadataStrategy
- a strategy for metadata extractionjava.io.IOException
- on error during file readingpublic MtSwiftMessage(AbstractMT mt)
public MtSwiftMessage(AbstractMT mt, MessageMetadataStrategy metadataStrategy)
AbstractMT
.mt
- the MT message to create this entity frommetadataStrategy
- a strategy for metadata extractionpublic MtSwiftMessage(SwiftMessage model)
public MtSwiftMessage(SwiftMessage model, MessageMetadataStrategy metadataStrategy)
model
- the MT message to create this entity frommetadataStrategy
- a strategy for metadata extractionpublic static MtSwiftMessage parse(java.lang.String fin)
MtSwiftMessage(String)
public static MtSwiftMessage parse(java.io.InputStream stream) throws java.io.IOException
MtSwiftMessage(InputStream)
java.io.IOException
public static MtSwiftMessage parse(java.io.File file) throws java.io.IOException
MtSwiftMessage(File)
java.io.IOException
public static MtSwiftMessage fromJson(java.lang.String json)
json
- JSON representationprotected void updateFromMessage() throws java.lang.IllegalArgumentException
updateFromMessage
in class AbstractSwiftMessage
java.lang.IllegalArgumentException
protected void updateFromMessage(MessageMetadataStrategy metadataStrategy) throws java.lang.IllegalArgumentException
AbstractSwiftMessage
This method is expected to be overwritten by subclasses. This default implementation will just ignore the parameter strategy.
updateFromMessage
in class AbstractSwiftMessage
java.lang.IllegalArgumentException
- if the source format is not FileFormat.FIN
or if the message cannot be parsed into a MtSwiftMessage
objectAbstractSwiftMessage.updateFromMessage(MessageMetadataStrategy)
public void updateFromFIN(java.lang.String fin)
fin
- raw (FIN) message content to update frompublic void updateFromFIN(java.lang.String fin, MessageMetadataStrategy metadataStrategy)
fin
- the new message contentmetadataStrategy
- a strategy implementation to extract the metadata from the FIN content@Deprecated @ProwideDeprecated(phase4=SRU2024) public void updateFromFIN()
updateFromFIN(String)
insteadpublic void updateFromModel(SwiftMessage model)
model
- model to update frompublic void updateFromModel(SwiftMessage model, MessageMetadataStrategy metadataStrategy)
model
- the new message contentmetadataStrategy
- a strategy implementation to extract the metadata from the modelpublic void updateFromModel(AbstractMT mt)
mt
- message to update frompublic void updateFromModel(AbstractMT mt, MessageMetadataStrategy metadataStrategy)
mt
- the new message content to setmetadataStrategy
- a strategy implementation to extract the metadata from the modelpublic SwiftMessage modelMessage()
SwiftMessage
object.public java.lang.Integer getMessageTypeInt()
AbstractSwiftMessage.getMessageType()
or null if the identifier attribute is not set or not a number.public java.lang.String getMessageName()
AbstractSwiftMessage.PROPERTY_NAME
key or the result of AbstractSwiftMessage.getMessageType()
getMessageName
in class AbstractSwiftMessage
public boolean isType(java.lang.Integer... type)
type
- a variable list of integers for testing to match as the current message typetrue
if the current message type is any of the integers given as parameters, and false
in any other casepublic boolean isType(int type)
type
- the message type given as int, to testtrue
if this message type is the type
given, or false
in any other casepublic java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getPde()
public void setPde(java.lang.String pde)
pde
- the PDE flag to setupdateFromFIN(String)
,
updateFromModel(AbstractMT)
,
updateFromModel(SwiftMessage)
public java.lang.String getPdm()
public void setPdm(java.lang.String pdm)
pdm
- the PDM flag to setupdateFromFIN(String)
,
updateFromModel(AbstractMT)
,
updateFromModel(SwiftMessage)
public java.lang.String getMir()
SwiftMessage.getMIR()
public void setMir(java.lang.String mir)
mir
- the MIR to setupdateFromFIN(String)
,
updateFromModel(AbstractMT)
,
updateFromModel(SwiftMessage)
public java.lang.String getMur()
SwiftMessage.getMUR()
public void setMur(java.lang.String mur)
mur
- the MUR to setupdateFromFIN(String)
,
updateFromModel(AbstractMT)
,
updateFromModel(SwiftMessage)
public java.lang.String getUuid()
SwiftMessage.getUUID()
public void setUuid(java.lang.String uuid)
uuid
- UUID to setupdateFromFIN(String)
,
updateFromModel(AbstractMT)
,
updateFromModel(SwiftMessage)
public boolean equals(java.lang.Object o)
equals
in class AbstractSwiftMessage
public int hashCode()
hashCode
in class AbstractSwiftMessage
public void copyTo(MtSwiftMessage msg)
msg
- target messageAbstractSwiftMessage.copyTo(AbstractSwiftMessage)
public MTVariant getVariant()
public MtId getMtId()
public java.lang.String getCategory()
getCategory
in class AbstractSwiftMessage
public void updateMetadata(MessageMetadataStrategy strategy)
strategy
- meta data strategy