Changelog for Prowide Core (WIFE) - Version 7.7

Version 7.7 for SRU2015

SRU 2015

  • Updated the standard compliance to the latest SRU (in production 22th November 2015)


  • valueDate in SwiftMessageUtils.
  • isType(int...) in SwiftMessage.
  • Enhanced the getSequence API in MT classes with support to nested sequences, allowing for ex: getSequenceE1(getSequenceEList().get(n)).
  • getLine API for FieldNN classes based on semantic lines number identification.
  • Copy constructors for FieldNN classes, performing a deep copy of the components' list.
  • MxParser message detection.
  • New generic XML model and API, as backbone for MX messages.
  • Headers Blocks: new generic getters in blocks 1 and 2 to retrieve attributes using full qualified names from enums; for example getField(SwiftBlock1Field.LogicalTerminal).
  • Static labels for subfields in FieldNN classes to allow for example getComponent(Field93B.BALANCE).
  • BIC: API to check for live and non-live bics.
  • MxParser: parseApplicationHeader and constructors from several sources.
  • Added missing labels' API to fields: 36E, 69A, 69C, 69D, 70C, 70D, 70G, 90F, 90J, 92D, 92L, 92M, 92N, 92R.
  • Added the ApplicationHeader attribute to AbstractMX.
  • Added API to search nodes or content by path or name in the MxNode tree returned by the MxParser.
  • Added json() and xml() methods to MT classes.
  • Added write to file and output streams to AbstractMT and AbstractMX.
  • Added consistent constructors from String, File or InputStream to MTnnn classes.
  • Added static parse methods to create MTnnn objects from String, File, InputStream or MtSwiftMessage.
  • Added consistent constructors from String, File or InputStream to AbstractSwiftMessage and subclasses MtSwiftMessage and MxSwiftMessage.
  • Added static parse methods to create MtSwiftMessage and MxSwiftMessage objects from String, File or InputStream.
  • Lib: added read from input streams.


  • NPE prevention in SwiftFormatUtils.getCurrency.
  • Fixed getSender and getReceiver for MTxxx to return accurate information regardless the message being of type input or output (also to be consistent with analogous methods in SwiftMessage).
  • Added CR and LF to charset z and x at SwiftcharsetUtils.
  • Fixed validation of fields 70F, 77S and 77T that unnecessary restricted the allowed amount of lines (not it is unlimited because charset Z allows CRLF).
  • Fixed OutOfBound exception at MxNode findFirst implementation when a node has multiple children.
  • Fixed getDescription for Field35B, now returning component 3 instead of 2.


  • Better API consistency between MT and MX implementations, with common ways to parse and build.
  • Changed sender and receiver attributes for MtSwiftMessage to hold BIC8 instead of full LT identifiers.
  • Deprecated the use of model message inside MtSwiftMessage.
  • Simplified distribution zip with -sources and -javadoc jars.