com.prowidesoftware.swift.model.mx.dic.Pacs00800101 Maven / Gradle / Ivy
package com.prowidesoftware.swift.model.mx.dic;
import java.util.ArrayList;
import java.util.List;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* Scope
* The FinancialInstitutionToFinancialInstitutionCustomerCreditTransfer message is sent by the debtor agent to the creditor agent, directly or through other agents and/or a payment clearing and settlement system. It is used to move funds from a debtor account to a creditor.
* Usage
* The FIToFICustomerCreditTransfer message is exchanged between agents and can contain one or more customer credit transfer instructions.
* The FIToFICustomerCreditTransfer message does not allow for grouping: a CreditTransferTransactionInformation block must be present for each credit transfer transaction.
* The FIToFICustomerCreditTransfer message can be used in different ways:
* - If the instructing agent and the instructed agent wish to use their direct account relationship in the currency of the transfer then the message contains both the funds for the customer transfer(s) as well as the payment details;
* - If the instructing agent and the instructed agent have no direct account relationship in the currency of the transfer, or do not wish to use their account relationship, then other (reimbursement) agents will be involved to cover for the customer transfer(s). The FIToFICustomerCreditTransfer contains only the payment details and the instructing agent must cover the customer transfer by sending a FinancialInstitutionCreditTransfer to a reimbursement agent. This payment method is called the Cover method;
* - If more than two financial institutions are involved in the payment chain and if the FIToFICustomerCreditTransfer is sent from one financial institution to the next financial institution in the payment chain, then the payment method is called the Serial method.
* The FIToFICustomerCreditTransfer message can be used in domestic and cross-border scenarios.
*
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "pacs.008.001.01", propOrder = {
"grpHdr",
"cdtTrfTxInf"
})
public class Pacs00800101 {
@XmlElement(name = "GrpHdr", required = true)
protected GroupHeader2 grpHdr;
@XmlElement(name = "CdtTrfTxInf", required = true)
protected List cdtTrfTxInf;
/**
* Gets the value of the grpHdr property.
*
* @return
* possible object is
* {@link GroupHeader2 }
*
*/
public GroupHeader2 getGrpHdr() {
return grpHdr;
}
/**
* Sets the value of the grpHdr property.
*
* @param value
* allowed object is
* {@link GroupHeader2 }
*
*/
public Pacs00800101 setGrpHdr(GroupHeader2 value) {
this.grpHdr = value;
return this;
}
/**
* Gets the value of the cdtTrfTxInf property.
*
*
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the Jakarta XML Binding object.
* This is why there is not a {@code set} method for the cdtTrfTxInf property.
*
*
* For example, to add a new item, do as follows:
*
* getCdtTrfTxInf().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CreditTransferTransactionInformation2 }
*
*
* @return
* The value of the cdtTrfTxInf property.
*/
public List getCdtTrfTxInf() {
if (cdtTrfTxInf == null) {
cdtTrfTxInf = new ArrayList<>();
}
return this.cdtTrfTxInf;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
}
@Override
public boolean equals(Object that) {
return EqualsBuilder.reflectionEquals(this, that);
}
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
/**
* Adds a new item to the cdtTrfTxInf list.
* @see #getCdtTrfTxInf()
*
*/
public Pacs00800101 addCdtTrfTxInf(CreditTransferTransactionInformation2 cdtTrfTxInf) {
getCdtTrfTxInf().add(cdtTrfTxInf);
return this;
}
}