com.prowidesoftware.swift.model.mx.dic.SecuritiesBalanceCustodyReportV09 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 servicer sends a SecuritiesBalanceCustodyReport to an account owner to provide, at a moment in time, the quantity and identification of the financial instruments that the account servicer holds for the account owner.
*
* The account servicer/owner relationship may be:
* - a central securities depository or another settlement market infrastructure acting on behalf of their participants, or
* - an agent (sub-custodian) acting on behalf of their global custodian customer, or
* - a custodian acting on behalf of an investment management institution or a broker/dealer, or
* - a transfer agent acting on behalf of a fund manager or an account owner's designated agent.
*
* Usage
* The message can also include availability and the location of holdings to facilitate trading and minimise settlement issues. The message reports all information per financial instrument, that is, when a financial instrument is held at multiple places of safekeeping, the total holdings for all locations can be provided.
* The message should be sent at a frequency agreed bi-laterally between the account servicer and the account owner. The message may be provided on a trade date, contractual or settlement date basis.
* There may be one or more intermediary parties, for example, an intermediary or a concentrator between the account owner and account servicer.
*
* 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.
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SecuritiesBalanceCustodyReportV09", propOrder = {
"pgntn",
"stmtGnlDtls",
"acctOwnr",
"acctSvcr",
"sfkpgAcct",
"intrmyInf",
"balForAcct",
"subAcctDtls",
"acctBaseCcyTtlAmts"
})
public class SecuritiesBalanceCustodyReportV09 {
@XmlElement(name = "Pgntn", required = true)
protected Pagination pgntn;
@XmlElement(name = "StmtGnlDtls", required = true)
protected Statement45 stmtGnlDtls;
@XmlElement(name = "AcctOwnr")
protected PartyIdentification98 acctOwnr;
@XmlElement(name = "AcctSvcr")
protected PartyIdentification100 acctSvcr;
@XmlElement(name = "SfkpgAcct", required = true)
protected SecuritiesAccount26 sfkpgAcct;
@XmlElement(name = "IntrmyInf")
protected List intrmyInf;
@XmlElement(name = "BalForAcct")
protected List balForAcct;
@XmlElement(name = "SubAcctDtls")
protected List subAcctDtls;
@XmlElement(name = "AcctBaseCcyTtlAmts")
protected TotalValueInPageAndStatement1 acctBaseCcyTtlAmts;
/**
* Gets the value of the pgntn property.
*
* @return
* possible object is
* {@link Pagination }
*
*/
public Pagination getPgntn() {
return pgntn;
}
/**
* Sets the value of the pgntn property.
*
* @param value
* allowed object is
* {@link Pagination }
*
*/
public SecuritiesBalanceCustodyReportV09 setPgntn(Pagination value) {
this.pgntn = value;
return this;
}
/**
* Gets the value of the stmtGnlDtls property.
*
* @return
* possible object is
* {@link Statement45 }
*
*/
public Statement45 getStmtGnlDtls() {
return stmtGnlDtls;
}
/**
* Sets the value of the stmtGnlDtls property.
*
* @param value
* allowed object is
* {@link Statement45 }
*
*/
public SecuritiesBalanceCustodyReportV09 setStmtGnlDtls(Statement45 value) {
this.stmtGnlDtls = value;
return this;
}
/**
* Gets the value of the acctOwnr property.
*
* @return
* possible object is
* {@link PartyIdentification98 }
*
*/
public PartyIdentification98 getAcctOwnr() {
return acctOwnr;
}
/**
* Sets the value of the acctOwnr property.
*
* @param value
* allowed object is
* {@link PartyIdentification98 }
*
*/
public SecuritiesBalanceCustodyReportV09 setAcctOwnr(PartyIdentification98 value) {
this.acctOwnr = value;
return this;
}
/**
* Gets the value of the acctSvcr property.
*
* @return
* possible object is
* {@link PartyIdentification100 }
*
*/
public PartyIdentification100 getAcctSvcr() {
return acctSvcr;
}
/**
* Sets the value of the acctSvcr property.
*
* @param value
* allowed object is
* {@link PartyIdentification100 }
*
*/
public SecuritiesBalanceCustodyReportV09 setAcctSvcr(PartyIdentification100 value) {
this.acctSvcr = value;
return this;
}
/**
* Gets the value of the sfkpgAcct property.
*
* @return
* possible object is
* {@link SecuritiesAccount26 }
*
*/
public SecuritiesAccount26 getSfkpgAcct() {
return sfkpgAcct;
}
/**
* Sets the value of the sfkpgAcct property.
*
* @param value
* allowed object is
* {@link SecuritiesAccount26 }
*
*/
public SecuritiesBalanceCustodyReportV09 setSfkpgAcct(SecuritiesAccount26 value) {
this.sfkpgAcct = value;
return this;
}
/**
* Gets the value of the intrmyInf 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 intrmyInf property.
*
*
* For example, to add a new item, do as follows:
*
* getIntrmyInf().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Intermediary32 }
*
*
* @return
* The value of the intrmyInf property.
*/
public List getIntrmyInf() {
if (intrmyInf == null) {
intrmyInf = new ArrayList<>();
}
return this.intrmyInf;
}
/**
* Gets the value of the balForAcct 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 balForAcct property.
*
*
* For example, to add a new item, do as follows:
*
* getBalForAcct().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link AggregateBalanceInformation30 }
*
*
* @return
* The value of the balForAcct property.
*/
public List getBalForAcct() {
if (balForAcct == null) {
balForAcct = new ArrayList<>();
}
return this.balForAcct;
}
/**
* Gets the value of the subAcctDtls 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 subAcctDtls property.
*
*
* For example, to add a new item, do as follows:
*
* getSubAcctDtls().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link SubAccountIdentification42 }
*
*
* @return
* The value of the subAcctDtls property.
*/
public List getSubAcctDtls() {
if (subAcctDtls == null) {
subAcctDtls = new ArrayList<>();
}
return this.subAcctDtls;
}
/**
* Gets the value of the acctBaseCcyTtlAmts property.
*
* @return
* possible object is
* {@link TotalValueInPageAndStatement1 }
*
*/
public TotalValueInPageAndStatement1 getAcctBaseCcyTtlAmts() {
return acctBaseCcyTtlAmts;
}
/**
* Sets the value of the acctBaseCcyTtlAmts property.
*
* @param value
* allowed object is
* {@link TotalValueInPageAndStatement1 }
*
*/
public SecuritiesBalanceCustodyReportV09 setAcctBaseCcyTtlAmts(TotalValueInPageAndStatement1 value) {
this.acctBaseCcyTtlAmts = value;
return this;
}
@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 intrmyInf list.
* @see #getIntrmyInf()
*
*/
public SecuritiesBalanceCustodyReportV09 addIntrmyInf(Intermediary32 intrmyInf) {
getIntrmyInf().add(intrmyInf);
return this;
}
/**
* Adds a new item to the balForAcct list.
* @see #getBalForAcct()
*
*/
public SecuritiesBalanceCustodyReportV09 addBalForAcct(AggregateBalanceInformation30 balForAcct) {
getBalForAcct().add(balForAcct);
return this;
}
/**
* Adds a new item to the subAcctDtls list.
* @see #getSubAcctDtls()
*
*/
public SecuritiesBalanceCustodyReportV09 addSubAcctDtls(SubAccountIdentification42 subAcctDtls) {
getSubAcctDtls().add(subAcctDtls);
return this;
}
}