com.prowidesoftware.swift.model.mx.dic.SecuritiesFinancingInstructionV03 Maven / Gradle / Ivy
Show all versions of pw-iso20022 Show documentation
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
* An account owner sends a SecuritiesFinancingInstruction to a securities financing transaction account servicer to notify the securities financing transaction account servicer of the details of a repurchase agreement, reverse repurchase agreement, securities lending or securities borrowing transaction to allow the account servicer to manage the settlement and follow-up of the opening and closing leg of the transaction.
* The account owner/servicer relationship may be:
* - a global custodian which has an account with a local custodian, or
* - an investment management institution which manage a fund account opened at a custodian, or
* - a broker which has an account with a custodian, or
* - a central securities depository participant which has an account with a central securities depository, or
* - a central securities depository which has an account with a custodian, another central securities depository or another settlement market infrastructure, or
* - a central counterparty or a stock exchange or a trade matching utility which need to instruct the settlement of securities financing transactions to a central securities depository or another settlement market infrastructure.
* Usage
* The message may also be used to:
* - re-send a message previously sent,
* - provide a third party with a copy of a message for information,
* - re-send to a third party a copy of a message for information.
* using the relevant elements in the Business Application Header.
* ISO 15022 - 20022 Coexistence
* This ISO 20022 message is reversed engineered from ISO 15022. Both standards will coexist for a certain number of years. Until this coexistence period ends, the usage of certain data types is restricted to ensure interoperability between ISO 15022 and 20022 users. Compliance to these rules is mandatory in a coexistence environment. The coexistence restrictions are described in a Textual Rule linked to the Message Items they concern. These coexistence textual rules are clearly identified as follows: “CoexistenceXxxxRule”.
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SecuritiesFinancingInstructionV03", propOrder = {
"txId",
"txTpAndAddtlParams",
"nbCounts",
"lnkgs",
"tradDtls",
"finInstrmId",
"finInstrmAttrbts",
"qtyAndAcctDtls",
"sctiesFincgDtls",
"sttlmParams",
"stgSttlmInstrDtls",
"dlvrgSttlmPties",
"rcvgSttlmPties",
"cshPties",
"opngSttlmAmt",
"othrAmts",
"othrBizPties",
"splmtryData"
})
public class SecuritiesFinancingInstructionV03 {
@XmlElement(name = "TxId", required = true)
protected String txId;
@XmlElement(name = "TxTpAndAddtlParams", required = true)
protected TransactionTypeAndAdditionalParameters1 txTpAndAddtlParams;
@XmlElement(name = "NbCounts")
protected NumberCount1Choice nbCounts;
@XmlElement(name = "Lnkgs")
protected List lnkgs;
@XmlElement(name = "TradDtls", required = true)
protected SecuritiesTradeDetails3 tradDtls;
@XmlElement(name = "FinInstrmId", required = true)
protected SecurityIdentification14 finInstrmId;
@XmlElement(name = "FinInstrmAttrbts")
protected FinancialInstrumentAttributes35 finInstrmAttrbts;
@XmlElement(name = "QtyAndAcctDtls", required = true)
protected QuantityAndAccount25 qtyAndAcctDtls;
@XmlElement(name = "SctiesFincgDtls", required = true)
protected SecuritiesFinancingTransactionDetails11 sctiesFincgDtls;
@XmlElement(name = "SttlmParams")
protected SettlementDetails62 sttlmParams;
@XmlElement(name = "StgSttlmInstrDtls")
protected StandingSettlementInstruction3 stgSttlmInstrDtls;
@XmlElement(name = "DlvrgSttlmPties")
protected SettlementParties10 dlvrgSttlmPties;
@XmlElement(name = "RcvgSttlmPties")
protected SettlementParties10 rcvgSttlmPties;
@XmlElement(name = "CshPties")
protected CashParties7 cshPties;
@XmlElement(name = "OpngSttlmAmt")
protected AmountAndDirection2 opngSttlmAmt;
@XmlElement(name = "OthrAmts")
protected OtherAmounts14 othrAmts;
@XmlElement(name = "OthrBizPties")
protected OtherParties19 othrBizPties;
@XmlElement(name = "SplmtryData")
protected List splmtryData;
/**
* Gets the value of the txId property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTxId() {
return txId;
}
/**
* Sets the value of the txId property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public SecuritiesFinancingInstructionV03 setTxId(String value) {
this.txId = value;
return this;
}
/**
* Gets the value of the txTpAndAddtlParams property.
*
* @return
* possible object is
* {@link TransactionTypeAndAdditionalParameters1 }
*
*/
public TransactionTypeAndAdditionalParameters1 getTxTpAndAddtlParams() {
return txTpAndAddtlParams;
}
/**
* Sets the value of the txTpAndAddtlParams property.
*
* @param value
* allowed object is
* {@link TransactionTypeAndAdditionalParameters1 }
*
*/
public SecuritiesFinancingInstructionV03 setTxTpAndAddtlParams(TransactionTypeAndAdditionalParameters1 value) {
this.txTpAndAddtlParams = value;
return this;
}
/**
* Gets the value of the nbCounts property.
*
* @return
* possible object is
* {@link NumberCount1Choice }
*
*/
public NumberCount1Choice getNbCounts() {
return nbCounts;
}
/**
* Sets the value of the nbCounts property.
*
* @param value
* allowed object is
* {@link NumberCount1Choice }
*
*/
public SecuritiesFinancingInstructionV03 setNbCounts(NumberCount1Choice value) {
this.nbCounts = value;
return this;
}
/**
* Gets the value of the lnkgs 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 lnkgs property.
*
*
* For example, to add a new item, do as follows:
*
* getLnkgs().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Linkages17 }
*
*
* @return
* The value of the lnkgs property.
*/
public List getLnkgs() {
if (lnkgs == null) {
lnkgs = new ArrayList<>();
}
return this.lnkgs;
}
/**
* Gets the value of the tradDtls property.
*
* @return
* possible object is
* {@link SecuritiesTradeDetails3 }
*
*/
public SecuritiesTradeDetails3 getTradDtls() {
return tradDtls;
}
/**
* Sets the value of the tradDtls property.
*
* @param value
* allowed object is
* {@link SecuritiesTradeDetails3 }
*
*/
public SecuritiesFinancingInstructionV03 setTradDtls(SecuritiesTradeDetails3 value) {
this.tradDtls = value;
return this;
}
/**
* Gets the value of the finInstrmId property.
*
* @return
* possible object is
* {@link SecurityIdentification14 }
*
*/
public SecurityIdentification14 getFinInstrmId() {
return finInstrmId;
}
/**
* Sets the value of the finInstrmId property.
*
* @param value
* allowed object is
* {@link SecurityIdentification14 }
*
*/
public SecuritiesFinancingInstructionV03 setFinInstrmId(SecurityIdentification14 value) {
this.finInstrmId = value;
return this;
}
/**
* Gets the value of the finInstrmAttrbts property.
*
* @return
* possible object is
* {@link FinancialInstrumentAttributes35 }
*
*/
public FinancialInstrumentAttributes35 getFinInstrmAttrbts() {
return finInstrmAttrbts;
}
/**
* Sets the value of the finInstrmAttrbts property.
*
* @param value
* allowed object is
* {@link FinancialInstrumentAttributes35 }
*
*/
public SecuritiesFinancingInstructionV03 setFinInstrmAttrbts(FinancialInstrumentAttributes35 value) {
this.finInstrmAttrbts = value;
return this;
}
/**
* Gets the value of the qtyAndAcctDtls property.
*
* @return
* possible object is
* {@link QuantityAndAccount25 }
*
*/
public QuantityAndAccount25 getQtyAndAcctDtls() {
return qtyAndAcctDtls;
}
/**
* Sets the value of the qtyAndAcctDtls property.
*
* @param value
* allowed object is
* {@link QuantityAndAccount25 }
*
*/
public SecuritiesFinancingInstructionV03 setQtyAndAcctDtls(QuantityAndAccount25 value) {
this.qtyAndAcctDtls = value;
return this;
}
/**
* Gets the value of the sctiesFincgDtls property.
*
* @return
* possible object is
* {@link SecuritiesFinancingTransactionDetails11 }
*
*/
public SecuritiesFinancingTransactionDetails11 getSctiesFincgDtls() {
return sctiesFincgDtls;
}
/**
* Sets the value of the sctiesFincgDtls property.
*
* @param value
* allowed object is
* {@link SecuritiesFinancingTransactionDetails11 }
*
*/
public SecuritiesFinancingInstructionV03 setSctiesFincgDtls(SecuritiesFinancingTransactionDetails11 value) {
this.sctiesFincgDtls = value;
return this;
}
/**
* Gets the value of the sttlmParams property.
*
* @return
* possible object is
* {@link SettlementDetails62 }
*
*/
public SettlementDetails62 getSttlmParams() {
return sttlmParams;
}
/**
* Sets the value of the sttlmParams property.
*
* @param value
* allowed object is
* {@link SettlementDetails62 }
*
*/
public SecuritiesFinancingInstructionV03 setSttlmParams(SettlementDetails62 value) {
this.sttlmParams = value;
return this;
}
/**
* Gets the value of the stgSttlmInstrDtls property.
*
* @return
* possible object is
* {@link StandingSettlementInstruction3 }
*
*/
public StandingSettlementInstruction3 getStgSttlmInstrDtls() {
return stgSttlmInstrDtls;
}
/**
* Sets the value of the stgSttlmInstrDtls property.
*
* @param value
* allowed object is
* {@link StandingSettlementInstruction3 }
*
*/
public SecuritiesFinancingInstructionV03 setStgSttlmInstrDtls(StandingSettlementInstruction3 value) {
this.stgSttlmInstrDtls = value;
return this;
}
/**
* Gets the value of the dlvrgSttlmPties property.
*
* @return
* possible object is
* {@link SettlementParties10 }
*
*/
public SettlementParties10 getDlvrgSttlmPties() {
return dlvrgSttlmPties;
}
/**
* Sets the value of the dlvrgSttlmPties property.
*
* @param value
* allowed object is
* {@link SettlementParties10 }
*
*/
public SecuritiesFinancingInstructionV03 setDlvrgSttlmPties(SettlementParties10 value) {
this.dlvrgSttlmPties = value;
return this;
}
/**
* Gets the value of the rcvgSttlmPties property.
*
* @return
* possible object is
* {@link SettlementParties10 }
*
*/
public SettlementParties10 getRcvgSttlmPties() {
return rcvgSttlmPties;
}
/**
* Sets the value of the rcvgSttlmPties property.
*
* @param value
* allowed object is
* {@link SettlementParties10 }
*
*/
public SecuritiesFinancingInstructionV03 setRcvgSttlmPties(SettlementParties10 value) {
this.rcvgSttlmPties = value;
return this;
}
/**
* Gets the value of the cshPties property.
*
* @return
* possible object is
* {@link CashParties7 }
*
*/
public CashParties7 getCshPties() {
return cshPties;
}
/**
* Sets the value of the cshPties property.
*
* @param value
* allowed object is
* {@link CashParties7 }
*
*/
public SecuritiesFinancingInstructionV03 setCshPties(CashParties7 value) {
this.cshPties = value;
return this;
}
/**
* Gets the value of the opngSttlmAmt property.
*
* @return
* possible object is
* {@link AmountAndDirection2 }
*
*/
public AmountAndDirection2 getOpngSttlmAmt() {
return opngSttlmAmt;
}
/**
* Sets the value of the opngSttlmAmt property.
*
* @param value
* allowed object is
* {@link AmountAndDirection2 }
*
*/
public SecuritiesFinancingInstructionV03 setOpngSttlmAmt(AmountAndDirection2 value) {
this.opngSttlmAmt = value;
return this;
}
/**
* Gets the value of the othrAmts property.
*
* @return
* possible object is
* {@link OtherAmounts14 }
*
*/
public OtherAmounts14 getOthrAmts() {
return othrAmts;
}
/**
* Sets the value of the othrAmts property.
*
* @param value
* allowed object is
* {@link OtherAmounts14 }
*
*/
public SecuritiesFinancingInstructionV03 setOthrAmts(OtherAmounts14 value) {
this.othrAmts = value;
return this;
}
/**
* Gets the value of the othrBizPties property.
*
* @return
* possible object is
* {@link OtherParties19 }
*
*/
public OtherParties19 getOthrBizPties() {
return othrBizPties;
}
/**
* Sets the value of the othrBizPties property.
*
* @param value
* allowed object is
* {@link OtherParties19 }
*
*/
public SecuritiesFinancingInstructionV03 setOthrBizPties(OtherParties19 value) {
this.othrBizPties = value;
return this;
}
/**
* Gets the value of the splmtryData 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 splmtryData property.
*
*
* For example, to add a new item, do as follows:
*
* getSplmtryData().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link SupplementaryData1 }
*
*
* @return
* The value of the splmtryData property.
*/
public List getSplmtryData() {
if (splmtryData == null) {
splmtryData = new ArrayList<>();
}
return this.splmtryData;
}
@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 lnkgs list.
* @see #getLnkgs()
*
*/
public SecuritiesFinancingInstructionV03 addLnkgs(Linkages17 lnkgs) {
getLnkgs().add(lnkgs);
return this;
}
/**
* Adds a new item to the splmtryData list.
* @see #getSplmtryData()
*
*/
public SecuritiesFinancingInstructionV03 addSplmtryData(SupplementaryData1 splmtryData) {
getSplmtryData().add(splmtryData);
return this;
}
}