com.prowidesoftware.swift.model.mx.dic.AccountOpeningInstructionV05 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 owner, for example, an investor or its designated agent sends the AccountOpeningInstruction message to the account servicer, for example, a registrar, transfer agent or custodian to instruct the opening of an account or the opening of an account and establishing 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 = "AccountOpeningInstructionV05", propOrder = {
"msgId",
"ordrRef",
"prvsRef",
"instrDtls",
"invstmtAcct",
"acctPties",
"intrmies",
"plcmnt",
"newIsseAllcn",
"svgsInvstmtPlan",
"wdrwlInvstmtPlan",
"cshSttlm",
"svcLvlAgrmt",
"mktPrctcVrsn",
"xtnsn"
})
public class AccountOpeningInstructionV05 {
@XmlElement(name = "MsgId", required = true)
protected MessageIdentification1 msgId;
@XmlElement(name = "OrdrRef")
protected InvestmentFundOrder4 ordrRef;
@XmlElement(name = "PrvsRef")
protected AdditionalReference3 prvsRef;
@XmlElement(name = "InstrDtls", required = true)
protected InvestmentAccountOpening1 instrDtls;
@XmlElement(name = "InvstmtAcct", required = true)
protected InvestmentAccount37 invstmtAcct;
@XmlElement(name = "AcctPties", required = true)
protected AccountParties10 acctPties;
@XmlElement(name = "Intrmies")
protected List intrmies;
@XmlElement(name = "Plcmnt")
protected ReferredAgent1 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 = "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 AccountOpeningInstructionV05 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 AccountOpeningInstructionV05 setOrdrRef(InvestmentFundOrder4 value) {
this.ordrRef = value;
return this;
}
/**
* Gets the value of the prvsRef property.
*
* @return
* possible object is
* {@link AdditionalReference3 }
*
*/
public AdditionalReference3 getPrvsRef() {
return prvsRef;
}
/**
* Sets the value of the prvsRef property.
*
* @param value
* allowed object is
* {@link AdditionalReference3 }
*
*/
public AccountOpeningInstructionV05 setPrvsRef(AdditionalReference3 value) {
this.prvsRef = value;
return this;
}
/**
* Gets the value of the instrDtls property.
*
* @return
* possible object is
* {@link InvestmentAccountOpening1 }
*
*/
public InvestmentAccountOpening1 getInstrDtls() {
return instrDtls;
}
/**
* Sets the value of the instrDtls property.
*
* @param value
* allowed object is
* {@link InvestmentAccountOpening1 }
*
*/
public AccountOpeningInstructionV05 setInstrDtls(InvestmentAccountOpening1 value) {
this.instrDtls = value;
return this;
}
/**
* Gets the value of the invstmtAcct property.
*
* @return
* possible object is
* {@link InvestmentAccount37 }
*
*/
public InvestmentAccount37 getInvstmtAcct() {
return invstmtAcct;
}
/**
* Sets the value of the invstmtAcct property.
*
* @param value
* allowed object is
* {@link InvestmentAccount37 }
*
*/
public AccountOpeningInstructionV05 setInvstmtAcct(InvestmentAccount37 value) {
this.invstmtAcct = value;
return this;
}
/**
* Gets the value of the acctPties property.
*
* @return
* possible object is
* {@link AccountParties10 }
*
*/
public AccountParties10 getAcctPties() {
return acctPties;
}
/**
* Sets the value of the acctPties property.
*
* @param value
* allowed object is
* {@link AccountParties10 }
*
*/
public AccountOpeningInstructionV05 setAcctPties(AccountParties10 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 Jakarta XML Binding object.
* This is why there is not a {@code 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 Intermediary24 }
*
*
* @return
* The value of the intrmies property.
*/
public List getIntrmies() {
if (intrmies == null) {
intrmies = new ArrayList<>();
}
return this.intrmies;
}
/**
* Gets the value of the plcmnt property.
*
* @return
* possible object is
* {@link ReferredAgent1 }
*
*/
public ReferredAgent1 getPlcmnt() {
return plcmnt;
}
/**
* Sets the value of the plcmnt property.
*
* @param value
* allowed object is
* {@link ReferredAgent1 }
*
*/
public AccountOpeningInstructionV05 setPlcmnt(ReferredAgent1 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 AccountOpeningInstructionV05 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 Jakarta XML Binding object.
* This is why there is not a {@code 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 InvestmentPlan10 }
*
*
* @return
* The value of the svgsInvstmtPlan property.
*/
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 Jakarta XML Binding object.
* This is why there is not a {@code 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 InvestmentPlan10 }
*
*
* @return
* The value of the wdrwlInvstmtPlan property.
*/
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 Jakarta XML Binding object.
* This is why there is not a {@code 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 InvestmentFundCashSettlementInformation7 }
*
*
* @return
* The value of the cshSttlm property.
*/
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 Jakarta XML Binding object.
* This is why there is not a {@code 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 DocumentToSend2 }
*
*
* @return
* The value of the svcLvlAgrmt property.
*/
public List getSvcLvlAgrmt() {
if (svcLvlAgrmt == null) {
svcLvlAgrmt = new ArrayList<>();
}
return this.svcLvlAgrmt;
}
/**
* 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 AccountOpeningInstructionV05 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 Jakarta XML Binding object.
* This is why there is not a {@code 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 }
*
*
* @return
* The value of the xtnsn property.
*/
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 AccountOpeningInstructionV05 addIntrmies(Intermediary24 intrmies) {
getIntrmies().add(intrmies);
return this;
}
/**
* Adds a new item to the svgsInvstmtPlan list.
* @see #getSvgsInvstmtPlan()
*
*/
public AccountOpeningInstructionV05 addSvgsInvstmtPlan(InvestmentPlan10 svgsInvstmtPlan) {
getSvgsInvstmtPlan().add(svgsInvstmtPlan);
return this;
}
/**
* Adds a new item to the wdrwlInvstmtPlan list.
* @see #getWdrwlInvstmtPlan()
*
*/
public AccountOpeningInstructionV05 addWdrwlInvstmtPlan(InvestmentPlan10 wdrwlInvstmtPlan) {
getWdrwlInvstmtPlan().add(wdrwlInvstmtPlan);
return this;
}
/**
* Adds a new item to the cshSttlm list.
* @see #getCshSttlm()
*
*/
public AccountOpeningInstructionV05 addCshSttlm(InvestmentFundCashSettlementInformation7 cshSttlm) {
getCshSttlm().add(cshSttlm);
return this;
}
/**
* Adds a new item to the svcLvlAgrmt list.
* @see #getSvcLvlAgrmt()
*
*/
public AccountOpeningInstructionV05 addSvcLvlAgrmt(DocumentToSend2 svcLvlAgrmt) {
getSvcLvlAgrmt().add(svcLvlAgrmt);
return this;
}
/**
* Adds a new item to the xtnsn list.
* @see #getXtnsn()
*
*/
public AccountOpeningInstructionV05 addXtnsn(Extension1 xtnsn) {
getXtnsn().add(xtnsn);
return this;
}
}