com.prowidesoftware.swift.model.mx.dic.AccountOpeningInstructionV06 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 owner, for example, an investor or its designated agent sends the AccountOpeningInstruction message to the account servicer, for example, a registrar, transfer agent, custodian or securities depository to instruct the opening of an account or the opening of an account and the establishment of an investment plan.
* Usage
* The AccountOpeningInstruction is used to open an account directly or indirectly with the account servicer or an intermediary.
* In some markets, for example, Australia, and for some products in the United Kingdom, a first order (also known as a deposit instruction) is placed at the same time as the account opening. To cater for this scenario, an order message can be linked (via references in the message) to the AccountOpeningInstruction message when needed.
* Execution of the AccountOpeningInstruction is confirmed via an AccountDetailsConfirmation message.
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AccountOpeningInstructionV06", propOrder = {
"msgId",
"ordrRef",
"prvsRef",
"instrDtls",
"invstmtAcct",
"acctPties",
"intrmies",
"plcmnt",
"newIsseAllcn",
"svgsInvstmtPlan",
"wdrwlInvstmtPlan",
"cshSttlm",
"svcLvlAgrmt",
"addtlInf",
"mktPrctcVrsn",
"xtnsn"
})
public class AccountOpeningInstructionV06 {
@XmlElement(name = "MsgId", required = true)
protected MessageIdentification1 msgId;
@XmlElement(name = "OrdrRef")
protected InvestmentFundOrder4 ordrRef;
@XmlElement(name = "PrvsRef")
protected AdditionalReference6 prvsRef;
@XmlElement(name = "InstrDtls", required = true)
protected InvestmentAccountOpening2 instrDtls;
@XmlElement(name = "InvstmtAcct", required = true)
protected InvestmentAccount49 invstmtAcct;
@XmlElement(name = "AcctPties", required = true)
protected AccountParties13 acctPties;
@XmlElement(name = "Intrmies")
protected List intrmies;
@XmlElement(name = "Plcmnt")
protected ReferredAgent2 plcmnt;
@XmlElement(name = "NewIsseAllcn")
protected NewIssueAllocation2 newIsseAllcn;
@XmlElement(name = "SvgsInvstmtPlan")
protected List svgsInvstmtPlan;
@XmlElement(name = "WdrwlInvstmtPlan")
protected List wdrwlInvstmtPlan;
@XmlElement(name = "CshSttlm")
protected List cshSttlm;
@XmlElement(name = "SvcLvlAgrmt")
protected List svcLvlAgrmt;
@XmlElement(name = "AddtlInf")
protected List addtlInf;
@XmlElement(name = "MktPrctcVrsn")
protected MarketPracticeVersion1 mktPrctcVrsn;
@XmlElement(name = "Xtnsn")
protected List xtnsn;
/**
* 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 AccountOpeningInstructionV06 setMsgId(MessageIdentification1 value) {
this.msgId = value;
return this;
}
/**
* Gets the value of the ordrRef property.
*
* @return
* possible object is
* {@link InvestmentFundOrder4 }
*
*/
public InvestmentFundOrder4 getOrdrRef() {
return ordrRef;
}
/**
* Sets the value of the ordrRef property.
*
* @param value
* allowed object is
* {@link InvestmentFundOrder4 }
*
*/
public AccountOpeningInstructionV06 setOrdrRef(InvestmentFundOrder4 value) {
this.ordrRef = value;
return this;
}
/**
* Gets the value of the prvsRef property.
*
* @return
* possible object is
* {@link AdditionalReference6 }
*
*/
public AdditionalReference6 getPrvsRef() {
return prvsRef;
}
/**
* Sets the value of the prvsRef property.
*
* @param value
* allowed object is
* {@link AdditionalReference6 }
*
*/
public AccountOpeningInstructionV06 setPrvsRef(AdditionalReference6 value) {
this.prvsRef = value;
return this;
}
/**
* Gets the value of the instrDtls property.
*
* @return
* possible object is
* {@link InvestmentAccountOpening2 }
*
*/
public InvestmentAccountOpening2 getInstrDtls() {
return instrDtls;
}
/**
* Sets the value of the instrDtls property.
*
* @param value
* allowed object is
* {@link InvestmentAccountOpening2 }
*
*/
public AccountOpeningInstructionV06 setInstrDtls(InvestmentAccountOpening2 value) {
this.instrDtls = value;
return this;
}
/**
* Gets the value of the invstmtAcct property.
*
* @return
* possible object is
* {@link InvestmentAccount49 }
*
*/
public InvestmentAccount49 getInvstmtAcct() {
return invstmtAcct;
}
/**
* Sets the value of the invstmtAcct property.
*
* @param value
* allowed object is
* {@link InvestmentAccount49 }
*
*/
public AccountOpeningInstructionV06 setInvstmtAcct(InvestmentAccount49 value) {
this.invstmtAcct = value;
return this;
}
/**
* Gets the value of the acctPties property.
*
* @return
* possible object is
* {@link AccountParties13 }
*
*/
public AccountParties13 getAcctPties() {
return acctPties;
}
/**
* Sets the value of the acctPties property.
*
* @param value
* allowed object is
* {@link AccountParties13 }
*
*/
public AccountOpeningInstructionV06 setAcctPties(AccountParties13 value) {
this.acctPties = value;
return this;
}
/**
* Gets the value of the intrmies 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 intrmies property.
*
*
* For example, to add a new item, do as follows:
*
* getIntrmies().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Intermediary36 }
*
*
*/
public List getIntrmies() {
if (intrmies == null) {
intrmies = new ArrayList();
}
return this.intrmies;
}
/**
* Gets the value of the plcmnt property.
*
* @return
* possible object is
* {@link ReferredAgent2 }
*
*/
public ReferredAgent2 getPlcmnt() {
return plcmnt;
}
/**
* Sets the value of the plcmnt property.
*
* @param value
* allowed object is
* {@link ReferredAgent2 }
*
*/
public AccountOpeningInstructionV06 setPlcmnt(ReferredAgent2 value) {
this.plcmnt = value;
return this;
}
/**
* Gets the value of the newIsseAllcn property.
*
* @return
* possible object is
* {@link NewIssueAllocation2 }
*
*/
public NewIssueAllocation2 getNewIsseAllcn() {
return newIsseAllcn;
}
/**
* Sets the value of the newIsseAllcn property.
*
* @param value
* allowed object is
* {@link NewIssueAllocation2 }
*
*/
public AccountOpeningInstructionV06 setNewIsseAllcn(NewIssueAllocation2 value) {
this.newIsseAllcn = value;
return this;
}
/**
* Gets the value of the svgsInvstmtPlan 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 svgsInvstmtPlan property.
*
*
* For example, to add a new item, do as follows:
*
* getSvgsInvstmtPlan().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link InvestmentPlan12 }
*
*
*/
public List getSvgsInvstmtPlan() {
if (svgsInvstmtPlan == null) {
svgsInvstmtPlan = new ArrayList();
}
return this.svgsInvstmtPlan;
}
/**
* Gets the value of the wdrwlInvstmtPlan 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 wdrwlInvstmtPlan property.
*
*
* For example, to add a new item, do as follows:
*
* getWdrwlInvstmtPlan().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link InvestmentPlan12 }
*
*
*/
public List getWdrwlInvstmtPlan() {
if (wdrwlInvstmtPlan == null) {
wdrwlInvstmtPlan = new ArrayList();
}
return this.wdrwlInvstmtPlan;
}
/**
* Gets the value of the cshSttlm 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 cshSttlm property.
*
*
* For example, to add a new item, do as follows:
*
* getCshSttlm().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link CashSettlement1 }
*
*
*/
public List getCshSttlm() {
if (cshSttlm == null) {
cshSttlm = new ArrayList();
}
return this.cshSttlm;
}
/**
* Gets the value of the svcLvlAgrmt 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 svcLvlAgrmt property.
*
*
* For example, to add a new item, do as follows:
*
* getSvcLvlAgrmt().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link DocumentToSend3 }
*
*
*/
public List getSvcLvlAgrmt() {
if (svcLvlAgrmt == null) {
svcLvlAgrmt = new ArrayList();
}
return this.svcLvlAgrmt;
}
/**
* Gets the value of the addtlInf 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 addtlInf property.
*
*
* For example, to add a new item, do as follows:
*
* getAddtlInf().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link AccountRestrictions1 }
*
*
*/
public List getAddtlInf() {
if (addtlInf == null) {
addtlInf = new ArrayList();
}
return this.addtlInf;
}
/**
* Gets the value of the mktPrctcVrsn property.
*
* @return
* possible object is
* {@link MarketPracticeVersion1 }
*
*/
public MarketPracticeVersion1 getMktPrctcVrsn() {
return mktPrctcVrsn;
}
/**
* Sets the value of the mktPrctcVrsn property.
*
* @param value
* allowed object is
* {@link MarketPracticeVersion1 }
*
*/
public AccountOpeningInstructionV06 setMktPrctcVrsn(MarketPracticeVersion1 value) {
this.mktPrctcVrsn = value;
return this;
}
/**
* Gets the value of the xtnsn 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 xtnsn property.
*
*
* For example, to add a new item, do as follows:
*
* getXtnsn().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Extension1 }
*
*
*/
public List getXtnsn() {
if (xtnsn == null) {
xtnsn = new ArrayList();
}
return this.xtnsn;
}
@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 intrmies list.
* @see #getIntrmies()
*
*/
public AccountOpeningInstructionV06 addIntrmies(Intermediary36 intrmies) {
getIntrmies().add(intrmies);
return this;
}
/**
* Adds a new item to the svgsInvstmtPlan list.
* @see #getSvgsInvstmtPlan()
*
*/
public AccountOpeningInstructionV06 addSvgsInvstmtPlan(InvestmentPlan12 svgsInvstmtPlan) {
getSvgsInvstmtPlan().add(svgsInvstmtPlan);
return this;
}
/**
* Adds a new item to the wdrwlInvstmtPlan list.
* @see #getWdrwlInvstmtPlan()
*
*/
public AccountOpeningInstructionV06 addWdrwlInvstmtPlan(InvestmentPlan12 wdrwlInvstmtPlan) {
getWdrwlInvstmtPlan().add(wdrwlInvstmtPlan);
return this;
}
/**
* Adds a new item to the cshSttlm list.
* @see #getCshSttlm()
*
*/
public AccountOpeningInstructionV06 addCshSttlm(CashSettlement1 cshSttlm) {
getCshSttlm().add(cshSttlm);
return this;
}
/**
* Adds a new item to the svcLvlAgrmt list.
* @see #getSvcLvlAgrmt()
*
*/
public AccountOpeningInstructionV06 addSvcLvlAgrmt(DocumentToSend3 svcLvlAgrmt) {
getSvcLvlAgrmt().add(svcLvlAgrmt);
return this;
}
/**
* Adds a new item to the addtlInf list.
* @see #getAddtlInf()
*
*/
public AccountOpeningInstructionV06 addAddtlInf(AccountRestrictions1 addtlInf) {
getAddtlInf().add(addtlInf);
return this;
}
/**
* Adds a new item to the xtnsn list.
* @see #getXtnsn()
*
*/
public AccountOpeningInstructionV06 addXtnsn(Extension1 xtnsn) {
getXtnsn().add(xtnsn);
return this;
}
}