com.prowidesoftware.swift.model.mx.dic.SecuritiesFinancingModificationInstructionV04 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 SecuritiesFinancingModificationInstruction to a securities financing transaction account servicer to notify the securities financing transaction account servicer of an update in the details of a repurchase agreement, reverse repurchase agreement, securities lending or securities borrowing transaction that does not impact the original transaction securities quantity.
* Such a change may be:
* - the providing of closing details not available at the time of the sending of the Securities Financing Instruction, for example, termination date for an open repo,
* - the providing of a new rate, for example, a repo rate,
* - the rollover of a position extending the closing or maturity date.
* 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 = "SecuritiesFinancingModificationInstructionV04", propOrder = {
"txTpAndModAddtlParams",
"tradDtls",
"finInstrmId",
"qtyAndAcctDtls",
"sctiesFincgAddtlDtls",
"sttlmParams",
"dlvrgSttlmPties",
"rcvgSttlmPties",
"opngSttlmAmt",
"splmtryData"
})
public class SecuritiesFinancingModificationInstructionV04 {
@XmlElement(name = "TxTpAndModAddtlParams", required = true)
protected TransactionTypeAndAdditionalParameters7 txTpAndModAddtlParams;
@XmlElement(name = "TradDtls", required = true)
protected SecuritiesTradeDetails5 tradDtls;
@XmlElement(name = "FinInstrmId", required = true)
protected SecurityIdentification14 finInstrmId;
@XmlElement(name = "QtyAndAcctDtls", required = true)
protected QuantityAndAccount16 qtyAndAcctDtls;
@XmlElement(name = "SctiesFincgAddtlDtls", required = true)
protected SecuritiesFinancingTransactionDetails19 sctiesFincgAddtlDtls;
@XmlElement(name = "SttlmParams")
protected SettlementDetails72 sttlmParams;
@XmlElement(name = "DlvrgSttlmPties")
protected SettlementParties10 dlvrgSttlmPties;
@XmlElement(name = "RcvgSttlmPties")
protected SettlementParties10 rcvgSttlmPties;
@XmlElement(name = "OpngSttlmAmt")
protected AmountAndDirection10 opngSttlmAmt;
@XmlElement(name = "SplmtryData")
protected List splmtryData;
/**
* Gets the value of the txTpAndModAddtlParams property.
*
* @return
* possible object is
* {@link TransactionTypeAndAdditionalParameters7 }
*
*/
public TransactionTypeAndAdditionalParameters7 getTxTpAndModAddtlParams() {
return txTpAndModAddtlParams;
}
/**
* Sets the value of the txTpAndModAddtlParams property.
*
* @param value
* allowed object is
* {@link TransactionTypeAndAdditionalParameters7 }
*
*/
public SecuritiesFinancingModificationInstructionV04 setTxTpAndModAddtlParams(TransactionTypeAndAdditionalParameters7 value) {
this.txTpAndModAddtlParams = value;
return this;
}
/**
* Gets the value of the tradDtls property.
*
* @return
* possible object is
* {@link SecuritiesTradeDetails5 }
*
*/
public SecuritiesTradeDetails5 getTradDtls() {
return tradDtls;
}
/**
* Sets the value of the tradDtls property.
*
* @param value
* allowed object is
* {@link SecuritiesTradeDetails5 }
*
*/
public SecuritiesFinancingModificationInstructionV04 setTradDtls(SecuritiesTradeDetails5 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 SecuritiesFinancingModificationInstructionV04 setFinInstrmId(SecurityIdentification14 value) {
this.finInstrmId = value;
return this;
}
/**
* Gets the value of the qtyAndAcctDtls property.
*
* @return
* possible object is
* {@link QuantityAndAccount16 }
*
*/
public QuantityAndAccount16 getQtyAndAcctDtls() {
return qtyAndAcctDtls;
}
/**
* Sets the value of the qtyAndAcctDtls property.
*
* @param value
* allowed object is
* {@link QuantityAndAccount16 }
*
*/
public SecuritiesFinancingModificationInstructionV04 setQtyAndAcctDtls(QuantityAndAccount16 value) {
this.qtyAndAcctDtls = value;
return this;
}
/**
* Gets the value of the sctiesFincgAddtlDtls property.
*
* @return
* possible object is
* {@link SecuritiesFinancingTransactionDetails19 }
*
*/
public SecuritiesFinancingTransactionDetails19 getSctiesFincgAddtlDtls() {
return sctiesFincgAddtlDtls;
}
/**
* Sets the value of the sctiesFincgAddtlDtls property.
*
* @param value
* allowed object is
* {@link SecuritiesFinancingTransactionDetails19 }
*
*/
public SecuritiesFinancingModificationInstructionV04 setSctiesFincgAddtlDtls(SecuritiesFinancingTransactionDetails19 value) {
this.sctiesFincgAddtlDtls = value;
return this;
}
/**
* Gets the value of the sttlmParams property.
*
* @return
* possible object is
* {@link SettlementDetails72 }
*
*/
public SettlementDetails72 getSttlmParams() {
return sttlmParams;
}
/**
* Sets the value of the sttlmParams property.
*
* @param value
* allowed object is
* {@link SettlementDetails72 }
*
*/
public SecuritiesFinancingModificationInstructionV04 setSttlmParams(SettlementDetails72 value) {
this.sttlmParams = 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 SecuritiesFinancingModificationInstructionV04 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 SecuritiesFinancingModificationInstructionV04 setRcvgSttlmPties(SettlementParties10 value) {
this.rcvgSttlmPties = value;
return this;
}
/**
* Gets the value of the opngSttlmAmt property.
*
* @return
* possible object is
* {@link AmountAndDirection10 }
*
*/
public AmountAndDirection10 getOpngSttlmAmt() {
return opngSttlmAmt;
}
/**
* Sets the value of the opngSttlmAmt property.
*
* @param value
* allowed object is
* {@link AmountAndDirection10 }
*
*/
public SecuritiesFinancingModificationInstructionV04 setOpngSttlmAmt(AmountAndDirection10 value) {
this.opngSttlmAmt = 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 splmtryData list.
* @see #getSplmtryData()
*
*/
public SecuritiesFinancingModificationInstructionV04 addSplmtryData(SupplementaryData1 splmtryData) {
getSplmtryData().add(splmtryData);
return this;
}
}