com.prowidesoftware.swift.model.mx.dic.SecuritiesBalanceCustodyReportV05 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 javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.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.
* 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 = "SecuritiesBalanceCustodyReportV05", propOrder = {
"pgntn",
"stmtGnlDtls",
"acctOwnr",
"acctSvcr",
"sfkpgAcct",
"intrmyInf",
"balForAcct",
"subAcctDtls",
"acctBaseCcyTtlAmts"
})
public class SecuritiesBalanceCustodyReportV05 {
@XmlElement(name = "Pgntn", required = true)
protected Pagination pgntn;
@XmlElement(name = "StmtGnlDtls", required = true)
protected Statement33 stmtGnlDtls;
@XmlElement(name = "AcctOwnr")
protected PartyIdentification36Choice acctOwnr;
@XmlElement(name = "AcctSvcr")
protected PartyIdentification49Choice acctSvcr;
@XmlElement(name = "SfkpgAcct", required = true)
protected SecuritiesAccount11 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 SecuritiesBalanceCustodyReportV05 setPgntn(Pagination value) {
this.pgntn = value;
return this;
}
/**
* Gets the value of the stmtGnlDtls property.
*
* @return
* possible object is
* {@link Statement33 }
*
*/
public Statement33 getStmtGnlDtls() {
return stmtGnlDtls;
}
/**
* Sets the value of the stmtGnlDtls property.
*
* @param value
* allowed object is
* {@link Statement33 }
*
*/
public SecuritiesBalanceCustodyReportV05 setStmtGnlDtls(Statement33 value) {
this.stmtGnlDtls = value;
return this;
}
/**
* Gets the value of the acctOwnr property.
*
* @return
* possible object is
* {@link PartyIdentification36Choice }
*
*/
public PartyIdentification36Choice getAcctOwnr() {
return acctOwnr;
}
/**
* Sets the value of the acctOwnr property.
*
* @param value
* allowed object is
* {@link PartyIdentification36Choice }
*
*/
public SecuritiesBalanceCustodyReportV05 setAcctOwnr(PartyIdentification36Choice value) {
this.acctOwnr = value;
return this;
}
/**
* Gets the value of the acctSvcr property.
*
* @return
* possible object is
* {@link PartyIdentification49Choice }
*
*/
public PartyIdentification49Choice getAcctSvcr() {
return acctSvcr;
}
/**
* Sets the value of the acctSvcr property.
*
* @param value
* allowed object is
* {@link PartyIdentification49Choice }
*
*/
public SecuritiesBalanceCustodyReportV05 setAcctSvcr(PartyIdentification49Choice value) {
this.acctSvcr = value;
return this;
}
/**
* Gets the value of the sfkpgAcct property.
*
* @return
* possible object is
* {@link SecuritiesAccount11 }
*
*/
public SecuritiesAccount11 getSfkpgAcct() {
return sfkpgAcct;
}
/**
* Sets the value of the sfkpgAcct property.
*
* @param value
* allowed object is
* {@link SecuritiesAccount11 }
*
*/
public SecuritiesBalanceCustodyReportV05 setSfkpgAcct(SecuritiesAccount11 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 JAXB object.
* This is why there is not a 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 Intermediary21 }
*
*
*/
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 JAXB object.
* This is why there is not a 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 AggregateBalanceInformation16 }
*
*
*/
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 JAXB object.
* This is why there is not a 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 SubAccountIdentification22 }
*
*
*/
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 SecuritiesBalanceCustodyReportV05 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 SecuritiesBalanceCustodyReportV05 addIntrmyInf(Intermediary21 intrmyInf) {
getIntrmyInf().add(intrmyInf);
return this;
}
/**
* Adds a new item to the balForAcct list.
* @see #getBalForAcct()
*
*/
public SecuritiesBalanceCustodyReportV05 addBalForAcct(AggregateBalanceInformation16 balForAcct) {
getBalForAcct().add(balForAcct);
return this;
}
/**
* Adds a new item to the subAcctDtls list.
* @see #getSubAcctDtls()
*
*/
public SecuritiesBalanceCustodyReportV05 addSubAcctDtls(SubAccountIdentification22 subAcctDtls) {
getSubAcctDtls().add(subAcctDtls);
return this;
}
}