
com.prowidesoftware.swift.model.mx.dic.SecuritiesBalanceTransparencyReportV01 Maven / Gradle / Ivy
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, such as a custodian, central securities depository or international central securities depository, sends the SecuritiesBalanceTransparencyReport message to provide holdings information for the accounts that it services, to disclose underlying details of holdings on an omnibus account that the sender owns or operates at the receiver. The receiver may also be a custodian, central securities depository, international central securities depository, and the ultimate receiver may be a registrar, transfer agent, fund company, official agent of the reported instrument(s) and/or other parties.
*
* The SecuritiesBalanceTransparencyReport message provides transparency of holdings through layers of custody chains in a consolidated statement, to allow for an efficient gathering of investor data, which, in turn, may be used to measure marketing effectiveness, validation of compliance with prospectuses and regulatory requirements, and the calculation of trailer fees and other retrocessions.
*
* USAGE
*
* The SecuritiesBalanceTransparencyReport message is used to provide aggregated holdings information and a breakdown of holdings information.
*
* A sender of the SecuritiesBalanceTransparencyReport message will identify its own safekeeping account (for example, an omnibus account in the ledger of the receiver) and holdings information at the level of account(s) for which the sender is the account servicer (that is, in the ledger of the sender). When relevant, the sender will aggregate its holdings information with holdings information of one or more sub levels and sub-sub levels of accounts, that is, with holdings information the sender has received from the owner(s) of the account(s) for which the sender is the account servicer .
*
* When the receiver of the SecuritiesBalanceTransparencyReport message is also an account servicer, it may, in turn, send a statement back to the sender of the first statement, enriched with data of its own.
* Ultimately, the statement reaches the relevant fund company, for example, the transfer agent, that may use it for obtaining information about the custodians, distributors and commercial agreement references associated with holdings on an omnibus account in the shareholder register.
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SecuritiesBalanceTransparencyReportV01", propOrder = {
"msgId",
"sndrId",
"rcvrId",
"pgntn",
"stmtGnlDtls",
"sfkpgAcctAndHldgs",
"splmtryData"
})
public class SecuritiesBalanceTransparencyReportV01 {
@XmlElement(name = "MsgId", required = true)
protected MessageIdentification1 msgId;
@XmlElement(name = "SndrId", required = true)
protected PartyIdentification100 sndrId;
@XmlElement(name = "RcvrId")
protected PartyIdentification100 rcvrId;
@XmlElement(name = "Pgntn", required = true)
protected Pagination pgntn;
@XmlElement(name = "StmtGnlDtls", required = true)
protected Statement37 stmtGnlDtls;
@XmlElement(name = "SfkpgAcctAndHldgs", required = true)
protected SafekeepingAccount5 sfkpgAcctAndHldgs;
@XmlElement(name = "SplmtryData")
protected List splmtryData;
/**
* Gets the value of the msgId property.
*
* @return
* possible object is
* {@link MessageIdentification1 }
*
*/
public MessageIdentification1 getMsgId() {
return msgId;
}
/**
* Sets the value of the msgId property.
*
* @param value
* allowed object is
* {@link MessageIdentification1 }
*
*/
public SecuritiesBalanceTransparencyReportV01 setMsgId(MessageIdentification1 value) {
this.msgId = value;
return this;
}
/**
* Gets the value of the sndrId property.
*
* @return
* possible object is
* {@link PartyIdentification100 }
*
*/
public PartyIdentification100 getSndrId() {
return sndrId;
}
/**
* Sets the value of the sndrId property.
*
* @param value
* allowed object is
* {@link PartyIdentification100 }
*
*/
public SecuritiesBalanceTransparencyReportV01 setSndrId(PartyIdentification100 value) {
this.sndrId = value;
return this;
}
/**
* Gets the value of the rcvrId property.
*
* @return
* possible object is
* {@link PartyIdentification100 }
*
*/
public PartyIdentification100 getRcvrId() {
return rcvrId;
}
/**
* Sets the value of the rcvrId property.
*
* @param value
* allowed object is
* {@link PartyIdentification100 }
*
*/
public SecuritiesBalanceTransparencyReportV01 setRcvrId(PartyIdentification100 value) {
this.rcvrId = value;
return this;
}
/**
* 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 SecuritiesBalanceTransparencyReportV01 setPgntn(Pagination value) {
this.pgntn = value;
return this;
}
/**
* Gets the value of the stmtGnlDtls property.
*
* @return
* possible object is
* {@link Statement37 }
*
*/
public Statement37 getStmtGnlDtls() {
return stmtGnlDtls;
}
/**
* Sets the value of the stmtGnlDtls property.
*
* @param value
* allowed object is
* {@link Statement37 }
*
*/
public SecuritiesBalanceTransparencyReportV01 setStmtGnlDtls(Statement37 value) {
this.stmtGnlDtls = value;
return this;
}
/**
* Gets the value of the sfkpgAcctAndHldgs property.
*
* @return
* possible object is
* {@link SafekeepingAccount5 }
*
*/
public SafekeepingAccount5 getSfkpgAcctAndHldgs() {
return sfkpgAcctAndHldgs;
}
/**
* Sets the value of the sfkpgAcctAndHldgs property.
*
* @param value
* allowed object is
* {@link SafekeepingAccount5 }
*
*/
public SecuritiesBalanceTransparencyReportV01 setSfkpgAcctAndHldgs(SafekeepingAccount5 value) {
this.sfkpgAcctAndHldgs = 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 JAXB object.
* This is why there is not a 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 }
*
*
*/
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 SecuritiesBalanceTransparencyReportV01 addSplmtryData(SupplementaryData1 splmtryData) {
getSplmtryData().add(splmtryData);
return this;
}
}