All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.prowidesoftware.swift.model.mx.dic.SecuritiesBalanceCustodyReportV03 Maven / Gradle / Ivy

There is a newer version: SRU2024-10.2.4
Show newest version

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 = "SecuritiesBalanceCustodyReportV03", propOrder = {
    "id",
    "pgntn",
    "stmtGnlDtls",
    "acctOwnr",
    "acctSvcr",
    "sfkpgAcct",
    "intrmyInf",
    "balForAcct",
    "subAcctDtls",
    "acctBaseCcyTtlAmts",
    "msgOrgtr",
    "msgRcpt"
})
public class SecuritiesBalanceCustodyReportV03 {

    @XmlElement(name = "Id", required = true)
    protected DocumentIdentification11 id;
    @XmlElement(name = "Pgntn", required = true)
    protected Pagination pgntn;
    @XmlElement(name = "StmtGnlDtls", required = true)
    protected Statement21 stmtGnlDtls;
    @XmlElement(name = "AcctOwnr")
    protected PartyIdentification13Choice acctOwnr;
    @XmlElement(name = "AcctSvcr")
    protected PartyIdentification10Choice 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;
    @XmlElement(name = "MsgOrgtr")
    protected PartyIdentification10Choice msgOrgtr;
    @XmlElement(name = "MsgRcpt")
    protected PartyIdentification10Choice msgRcpt;

    /**
     * Gets the value of the id property.
     * 
     * @return
     *     possible object is
     *     {@link DocumentIdentification11 }
     *     
     */
    public DocumentIdentification11 getId() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *     allowed object is
     *     {@link DocumentIdentification11 }
     *     
     */
    public SecuritiesBalanceCustodyReportV03 setId(DocumentIdentification11 value) {
        this.id = 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 SecuritiesBalanceCustodyReportV03 setPgntn(Pagination value) {
        this.pgntn = value;
        return this;
    }

    /**
     * Gets the value of the stmtGnlDtls property.
     * 
     * @return
     *     possible object is
     *     {@link Statement21 }
     *     
     */
    public Statement21 getStmtGnlDtls() {
        return stmtGnlDtls;
    }

    /**
     * Sets the value of the stmtGnlDtls property.
     * 
     * @param value
     *     allowed object is
     *     {@link Statement21 }
     *     
     */
    public SecuritiesBalanceCustodyReportV03 setStmtGnlDtls(Statement21 value) {
        this.stmtGnlDtls = value;
        return this;
    }

    /**
     * Gets the value of the acctOwnr property.
     * 
     * @return
     *     possible object is
     *     {@link PartyIdentification13Choice }
     *     
     */
    public PartyIdentification13Choice getAcctOwnr() {
        return acctOwnr;
    }

    /**
     * Sets the value of the acctOwnr property.
     * 
     * @param value
     *     allowed object is
     *     {@link PartyIdentification13Choice }
     *     
     */
    public SecuritiesBalanceCustodyReportV03 setAcctOwnr(PartyIdentification13Choice value) {
        this.acctOwnr = value;
        return this;
    }

    /**
     * Gets the value of the acctSvcr property.
     * 
     * @return
     *     possible object is
     *     {@link PartyIdentification10Choice }
     *     
     */
    public PartyIdentification10Choice getAcctSvcr() {
        return acctSvcr;
    }

    /**
     * Sets the value of the acctSvcr property.
     * 
     * @param value
     *     allowed object is
     *     {@link PartyIdentification10Choice }
     *     
     */
    public SecuritiesBalanceCustodyReportV03 setAcctSvcr(PartyIdentification10Choice 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 SecuritiesBalanceCustodyReportV03 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 Intermediary2 } * * */ 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 AggregateBalanceInformation9 } * * */ 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 SubAccountIdentification11 } * * */ 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 SecuritiesBalanceCustodyReportV03 setAcctBaseCcyTtlAmts(TotalValueInPageAndStatement1 value) { this.acctBaseCcyTtlAmts = value; return this; } /** * Gets the value of the msgOrgtr property. * * @return * possible object is * {@link PartyIdentification10Choice } * */ public PartyIdentification10Choice getMsgOrgtr() { return msgOrgtr; } /** * Sets the value of the msgOrgtr property. * * @param value * allowed object is * {@link PartyIdentification10Choice } * */ public SecuritiesBalanceCustodyReportV03 setMsgOrgtr(PartyIdentification10Choice value) { this.msgOrgtr = value; return this; } /** * Gets the value of the msgRcpt property. * * @return * possible object is * {@link PartyIdentification10Choice } * */ public PartyIdentification10Choice getMsgRcpt() { return msgRcpt; } /** * Sets the value of the msgRcpt property. * * @param value * allowed object is * {@link PartyIdentification10Choice } * */ public SecuritiesBalanceCustodyReportV03 setMsgRcpt(PartyIdentification10Choice value) { this.msgRcpt = 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 SecuritiesBalanceCustodyReportV03 addIntrmyInf(Intermediary2 intrmyInf) { getIntrmyInf().add(intrmyInf); return this; } /** * Adds a new item to the balForAcct list. * @see #getBalForAcct() * */ public SecuritiesBalanceCustodyReportV03 addBalForAcct(AggregateBalanceInformation9 balForAcct) { getBalForAcct().add(balForAcct); return this; } /** * Adds a new item to the subAcctDtls list. * @see #getSubAcctDtls() * */ public SecuritiesBalanceCustodyReportV03 addSubAcctDtls(SubAccountIdentification11 subAcctDtls) { getSubAcctDtls().add(subAcctDtls); return this; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy