Class MT204

  • All Implemented Interfaces:
    JsonSerializable, java.io.Serializable

    @Generated
    public class MT204
    extends AbstractMT
    implements java.io.Serializable
    MT 204 - Financial Markets Direct Debit Message.

    SWIFT MT204 (ISO 15022) message structure:

    • Sequence A (M)
      • Field 20 (M)
      • Field 19 (M)
      • Field 30 (M)
      • Field 57 A,B,D (O)
      • Field 58 A,D (O)
      • Field 72 (O)
    • Sequence B (M) (repetitive)
      • Field 20 (M)
      • Field 21 (O)
      • Field 32 B (M)
      • Field 53 A,B,D (M)
      • Field 72 (O)

    This source code is specific to release SRU 2023

    For additional resources check https://www.prowidesoftware.com/resources

    See Also:
    Serialized Form
    • Field Detail

      • SRU

        public static final int SRU
        Constant identifying the SRU to which this class belongs to.
        See Also:
        Constant Field Values
      • NAME

        public static final java.lang.String NAME
        Constant for MT name, this is part of the classname, after MT.
        See Also:
        Constant Field Values
    • Constructor Detail

      • MT204

        public MT204​(SwiftMessage m)
        Creates an MT204 initialized with the parameter SwiftMessage.
        Parameters:
        m - swift message with the MT204 content
      • MT204

        public MT204​(MtSwiftMessage m)
        Creates an MT204 initialized with the parameter MtSwiftMessage.
        Parameters:
        m - swift message with the MT204 content, the parameter can not be null
        See Also:
        MT204(String)
      • MT204

        public MT204()
        Creates and initializes a new MT204 input message setting TEST BICS as sender and receiver. All mandatory header attributes are completed with default values.
        Since:
        7.6
      • MT204

        public MT204​(java.lang.String sender,
                     java.lang.String receiver)
        Creates and initializes a new MT204 input message from sender to receiver. All mandatory header attributes are completed with default values. In particular the sender and receiver addresses will be filled with proper default LT identifier and branch codes if not provided,
        Parameters:
        sender - the sender address as a bic8, bic11 or full logical terminal consisting of 12 characters
        receiver - the receiver address as a bic8, bic11 or full logical terminal consisting of 12 characters
        Since:
        7.7
      • MT204

        public MT204​(java.lang.String fin)
        Creates a new MT204 by parsing a String with the message content in its swift FIN format. If the fin parameter is null or the message cannot be parsed, the internal message object will be initialized (blocks will be created) but empty. If the string contains multiple messages, only the first one will be parsed.
        Parameters:
        fin - a string with the MT message in its FIN swift format
        Since:
        7.7
      • MT204

        public MT204​(java.io.InputStream stream)
              throws java.io.IOException
        Creates a new MT204 by parsing a input stream with the message content in its swift FIN format, using "UTF-8" as encoding. If the message content is null or cannot be parsed, the internal message object will be initialized (blocks will be created) but empty. If the stream contains multiple messages, only the first one will be parsed.
        Parameters:
        stream - an input stream in UTF-8 encoding with the MT message in its FIN swift format.
        Throws:
        java.io.IOException - if the stream data cannot be read
        Since:
        7.7
      • MT204

        public MT204​(java.io.File file)
              throws java.io.IOException
        Creates a new MT204 by parsing a file with the message content in its swift FIN format. If the file content is null or cannot be parsed as a message, the internal message object will be initialized (blocks will be created) but empty. If the file contains multiple messages, only the first one will be parsed.
        Parameters:
        file - a file with the MT message in its FIN swift format.
        Throws:
        java.io.IOException - if the file content cannot be read
        Since:
        7.7
    • Method Detail

      • parse

        public static MT204 parse​(MtSwiftMessage m)
        Creates an MT204 initialized with the parameter MtSwiftMessage.
        Parameters:
        m - swift message with the MT204 content
        Returns:
        the created object or null if the parameter is null
        Since:
        7.7
        See Also:
        MT204(String)
      • parse

        public static MT204 parse​(java.lang.String fin)
        Creates a new MT204 by parsing a String with the message content in its swift FIN format. If the fin parameter cannot be parsed, the returned MT204 will have its internal message object initialized (blocks will be created) but empty. If the string contains multiple messages, only the first one will be parsed.
        Parameters:
        fin - a string with the MT message in its FIN swift format. fin may be null in which case this method returns null
        Returns:
        a new instance of MT204 or null if fin is null
        Since:
        7.7
      • parse

        public static MT204 parse​(java.io.InputStream stream)
                           throws java.io.IOException
        Creates a new MT204 by parsing a input stream with the message content in its swift FIN format, using "UTF-8" as encoding. If the stream contains multiple messages, only the first one will be parsed.
        Parameters:
        stream - an input stream in UTF-8 encoding with the MT message in its FIN swift format.
        Returns:
        a new instance of MT204 or null if stream is null or the message cannot be parsed
        Throws:
        java.io.IOException - if the stream data cannot be read
        Since:
        7.7
      • parse

        public static MT204 parse​(java.io.File file)
                           throws java.io.IOException
        Creates a new MT204 by parsing a file with the message content in its swift FIN format. If the file contains multiple messages, only the first one will be parsed.
        Parameters:
        file - a file with the MT message in its FIN swift format.
        Returns:
        a new instance of MT204 or null if; file is null, does not exist, can't be read, is not a file or the message cannot be parsed
        Throws:
        java.io.IOException - if the file content cannot be read
        Since:
        7.7
      • getMessageType

        public java.lang.String getMessageType()
        Returns this MT number.
        Specified by:
        getMessageType in class AbstractMT
        Returns:
        the message type number of this MT
        Since:
        6.4
      • append

        public MT204 append​(SwiftTagListBlock block)
        Add all tags from block to the end of the block4.
        Overrides:
        append in class AbstractMT
        Parameters:
        block - to append
        Returns:
        this object to allow method chaining
        Since:
        7.6
      • append

        public MT204 append​(Tag... tags)
        Add all tags to the end of the block4.
        Overrides:
        append in class AbstractMT
        Parameters:
        tags - to append
        Returns:
        this object to allow method chaining
        Since:
        7.6
      • append

        public MT204 append​(Field... fields)
        Add all the fields to the end of the block4.
        Overrides:
        append in class AbstractMT
        Parameters:
        fields - to append
        Returns:
        this object to allow method chaining
        Since:
        7.6
      • fromJson

        public static MT204 fromJson​(java.lang.String json)
        Creates an MT204 messages from its JSON representation.

        For generic conversion of JSON into the corresponding MT instance see AbstractMT.fromJson(String)

        Parameters:
        json - a JSON representation of an MT204 message
        Returns:
        a new instance of MT204
        Since:
        7.10.3
      • getField19

        public Field19 getField19()
        Iterates through block4 fields and return the first one whose name matches 19, or null if none is found. The first occurrence of field 19 at MT204 is expected to be the only one.
        Returns:
        a Field19 object or null if the field is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagByName(String)
      • getField30

        public Field30 getField30()
        Iterates through block4 fields and return the first one whose name matches 30, or null if none is found. The first occurrence of field 30 at MT204 is expected to be the only one.
        Returns:
        a Field30 object or null if the field is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagByName(String)
      • getField57A

        public Field57A getField57A()
        Iterates through block4 fields and return the first one whose name matches 57A, or null if none is found. The first occurrence of field 57A at MT204 is expected to be the only one.
        Returns:
        a Field57A object or null if the field is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagByName(String)
      • getField57B

        public Field57B getField57B()
        Iterates through block4 fields and return the first one whose name matches 57B, or null if none is found. The first occurrence of field 57B at MT204 is expected to be the only one.
        Returns:
        a Field57B object or null if the field is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagByName(String)
      • getField57D

        public Field57D getField57D()
        Iterates through block4 fields and return the first one whose name matches 57D, or null if none is found. The first occurrence of field 57D at MT204 is expected to be the only one.
        Returns:
        a Field57D object or null if the field is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagByName(String)
      • getField58A

        public Field58A getField58A()
        Iterates through block4 fields and return the first one whose name matches 58A, or null if none is found. The first occurrence of field 58A at MT204 is expected to be the only one.
        Returns:
        a Field58A object or null if the field is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagByName(String)
      • getField58D

        public Field58D getField58D()
        Iterates through block4 fields and return the first one whose name matches 58D, or null if none is found. The first occurrence of field 58D at MT204 is expected to be the only one.
        Returns:
        a Field58D object or null if the field is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagByName(String)
      • getField20

        public java.util.List<Field20> getField20()
        Iterates through block4 fields and return all occurrences of fields whose names matches 20, or Collections.emptyList() if none is found. Multiple occurrences of field 20 at MT204 are expected at one sequence or across several sequences.
        Returns:
        a List of Field20 objects or Collections.emptyList() if none is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagsByName(String)
      • getField21

        public java.util.List<Field21> getField21()
        Iterates through block4 fields and return all occurrences of fields whose names matches 21, or Collections.emptyList() if none is found. Multiple occurrences of field 21 at MT204 are expected at one sequence or across several sequences.
        Returns:
        a List of Field21 objects or Collections.emptyList() if none is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagsByName(String)
      • getField32B

        public java.util.List<Field32B> getField32B()
        Iterates through block4 fields and return all occurrences of fields whose names matches 32B, or Collections.emptyList() if none is found. Multiple occurrences of field 32B at MT204 are expected at one sequence or across several sequences.
        Returns:
        a List of Field32B objects or Collections.emptyList() if none is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagsByName(String)
      • getField53A

        public java.util.List<Field53A> getField53A()
        Iterates through block4 fields and return all occurrences of fields whose names matches 53A, or Collections.emptyList() if none is found. Multiple occurrences of field 53A at MT204 are expected at one sequence or across several sequences.
        Returns:
        a List of Field53A objects or Collections.emptyList() if none is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagsByName(String)
      • getField53B

        public java.util.List<Field53B> getField53B()
        Iterates through block4 fields and return all occurrences of fields whose names matches 53B, or Collections.emptyList() if none is found. Multiple occurrences of field 53B at MT204 are expected at one sequence or across several sequences.
        Returns:
        a List of Field53B objects or Collections.emptyList() if none is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagsByName(String)
      • getField53D

        public java.util.List<Field53D> getField53D()
        Iterates through block4 fields and return all occurrences of fields whose names matches 53D, or Collections.emptyList() if none is found. Multiple occurrences of field 53D at MT204 are expected at one sequence or across several sequences.
        Returns:
        a List of Field53D objects or Collections.emptyList() if none is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagsByName(String)
      • getField72

        public java.util.List<Field72> getField72()
        Iterates through block4 fields and return all occurrences of fields whose names matches 72, or Collections.emptyList() if none is found. Multiple occurrences of field 72 at MT204 are expected at one sequence or across several sequences.
        Returns:
        a List of Field72 objects or Collections.emptyList() if none is not found
        Throws:
        java.lang.IllegalStateException - if SwiftMessage object is not initialized
        See Also:
        SwiftTagListBlock.getTagsByName(String)
      • getSequenceA

        @SequenceStyle(GENERATED_FIXED_WITH_OPTIONAL_TAIL)
        public MT204.SequenceA getSequenceA()
        Get the single occurrence of SequenceA delimited by leading tag and end, with an optional tail. The presence of this method indicates that this sequence can occur only once according to the Standard. If block 4 is empty this method returns null.
        Returns:
        the found sequence or an empty sequence if none is found
        See Also:
        SwiftTagListBlock.getSubBlockDelimitedWithOptionalTail(String[], String[], String[])
      • getSequenceA

        @SequenceStyle(GENERATED_FIXED_WITH_OPTIONAL_TAIL)
        public MT204.SequenceA getSequenceA​(SwiftTagListBlock parentSequence)
        Get the single occurrence of SequenceA delimited by leading tag and end, with an optional tail. The presence of this method indicates that this sequence can occur only once according to the Standard. If block 4 is empty this method returns null.
        Parameters:
        parentSequence - a not null parent sequence to find SequenceA within it
        Returns:
        the found sequence or an empty sequence if none is found, or null if the parent sequence is null or empty
        Since:
        7.7
        See Also:
        SwiftTagListBlock.getSubBlockDelimitedWithOptionalTail(String[], String[], String[])
      • getSequenceBList

        @SequenceStyle(GENERATED_FIXED_WITH_OPTIONAL_TAIL)
        public java.util.List<MT204.SequenceB> getSequenceBList()
        Get the list of SequenceB delimited by leading tag and end, with an optional tail. The presence of this method indicates that this sequence can occur more than once according to the Standard. If message is empty or no sequences are found an empty list is returned.
        Returns:
        the found sequences or an empty list if none is found
        See Also:
        SwiftTagListBlock.getSubBlocksDelimitedWithOptionalTail(String[], String[], String[])
      • getSequenceBList

        @SequenceStyle(GENERATED_FIXED_WITH_OPTIONAL_TAIL)
        public static java.util.List<MT204.SequenceB> getSequenceBList​(SwiftTagListBlock parentSequence)
        Get the list of SequenceB delimited by leading tag and end, with an optional tail. The presence of this method indicates that this sequence can occur more than once according to the Standard. If message is empty or no sequences are found an empty list is returned.
        Parameters:
        parentSequence - a not null parent sequence to find SequenceB within it
        Returns:
        the found sequences or an empty list if none is found or parent sequence is null
        Since:
        7.7
        See Also:
        SwiftTagListBlock.getSubBlocksDelimitedWithOptionalTail(String[], String[], String[])