Provides modelling and persistence of a business-oriented perspective of a SWIFT message.
This component makes user advance Object Relational Mappings (ORM) to provide eficient but high level storing and retrieving of SWIFT messages at three levels:
- The raw literal FIN message, exactly as it has been received or sent.
- Structured message data for blocks and fields.
- Additional metadata, such as message creation and modification dates, amount, user, status history and relations between messages.

The component has been deployed on several commonly used databases (Sybase, MySQL, Oracle, etc...) and is highly likely that it will work perfectly on any relational databases supporting JDBC.
Code snapshot:
Session s = HibernateUtil().openSession(); PersistentSWIFTMessageRepository repository = new PersistentSWIFTMessageRepository(s);
//get all MT103 sent or received today PersistentMessageFilter filter = new PersistentMessageFilter(); filter.setFromDate(Calendar.getInstance)); filter.setMt("103"); List<PersistentSWIFTMessage> all = null; all = repository.findFiltered(s, filter).getResult();
PersistentSWIFTMessage m = all.get(0);
//get related messages (ex: MT199 notification related to this MT103) List<PersistentSWIFTMessage> related = repository.getRelated(s, m.getId());
List<SwiftMessageStatus> statusList = m.getStatus(); //get status history BigDecimal amount = m.getAmount(); //get main amount
//set custom property attribute to the message m.setProperty("MY_PROP", "my property value"); s.save(m);
|