com.prowidesoftware.swift.model.mx.dic.PortfolioTransferInstructionV03 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 instructing party, eg, a (new) plan manager (Transferee), sends the PortfolioTransferInstruction message to the executing party, eg, a (old) plan manager (Transferor), on behalf of the initiating party, eg, an investor (client), to instruct the transfer of financial instruments from the clients account at the old plan manager (Transferor) to the clients account at the new plan manager (Transferee) through a nominee account.
* Usage
* The PortfolioTransferInstruction message is used to instruct the withdrawal of one or more ISA or portfolio products from one account and deliver them to another account.
* The PortfolioTransferInstruction message is used to instruct one or more transfers for one client. Each transfer is for delivery to the same account. The account may be owned by one or more individual investors or one or more corporate investors. Each transfer is identified in TransferIdentification.
* If the instructing party does not have enough information to instruct the transfer, then it must first send a AccountHoldingInformationRequest message to the executing party in order to receive a AccountHoldingInformation message.
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PortfolioTransferInstructionV03", propOrder = {
"msgRef",
"poolRef",
"prvsRef",
"rltdRef",
"pmryIndvInvstr",
"scndryIndvInvstr",
"othrIndvInvstr",
"pmryCorpInvstr",
"scndryCorpInvstr",
"othrCorpInvstr",
"trfrAcct",
"nmneeAcct",
"trfee",
"cshAcct",
"pdctTrf",
"xtnsn"
})
public class PortfolioTransferInstructionV03 {
@XmlElement(name = "MsgRef", required = true)
protected MessageIdentification1 msgRef;
@XmlElement(name = "PoolRef")
protected AdditionalReference3 poolRef;
@XmlElement(name = "PrvsRef")
protected AdditionalReference3 prvsRef;
@XmlElement(name = "RltdRef")
protected AdditionalReference3 rltdRef;
@XmlElement(name = "PmryIndvInvstr")
protected IndividualPerson8 pmryIndvInvstr;
@XmlElement(name = "ScndryIndvInvstr")
protected IndividualPerson8 scndryIndvInvstr;
@XmlElement(name = "OthrIndvInvstr")
protected List othrIndvInvstr;
@XmlElement(name = "PmryCorpInvstr")
protected Organisation4 pmryCorpInvstr;
@XmlElement(name = "ScndryCorpInvstr")
protected Organisation4 scndryCorpInvstr;
@XmlElement(name = "OthrCorpInvstr")
protected List othrCorpInvstr;
@XmlElement(name = "TrfrAcct", required = true)
protected Account5 trfrAcct;
@XmlElement(name = "NmneeAcct")
protected Account6 nmneeAcct;
@XmlElement(name = "Trfee", required = true)
protected PartyIdentification2Choice trfee;
@XmlElement(name = "CshAcct")
protected CashAccount11 cshAcct;
@XmlElement(name = "PdctTrf", required = true)
protected List pdctTrf;
@XmlElement(name = "Xtnsn")
protected List xtnsn;
/**
* Gets the value of the msgRef property.
*
* @return
* possible object is
* {@link MessageIdentification1 }
*
*/
public MessageIdentification1 getMsgRef() {
return msgRef;
}
/**
* Sets the value of the msgRef property.
*
* @param value
* allowed object is
* {@link MessageIdentification1 }
*
*/
public PortfolioTransferInstructionV03 setMsgRef(MessageIdentification1 value) {
this.msgRef = value;
return this;
}
/**
* Gets the value of the poolRef property.
*
* @return
* possible object is
* {@link AdditionalReference3 }
*
*/
public AdditionalReference3 getPoolRef() {
return poolRef;
}
/**
* Sets the value of the poolRef property.
*
* @param value
* allowed object is
* {@link AdditionalReference3 }
*
*/
public PortfolioTransferInstructionV03 setPoolRef(AdditionalReference3 value) {
this.poolRef = 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 PortfolioTransferInstructionV03 setPrvsRef(AdditionalReference3 value) {
this.prvsRef = value;
return this;
}
/**
* Gets the value of the rltdRef property.
*
* @return
* possible object is
* {@link AdditionalReference3 }
*
*/
public AdditionalReference3 getRltdRef() {
return rltdRef;
}
/**
* Sets the value of the rltdRef property.
*
* @param value
* allowed object is
* {@link AdditionalReference3 }
*
*/
public PortfolioTransferInstructionV03 setRltdRef(AdditionalReference3 value) {
this.rltdRef = value;
return this;
}
/**
* Gets the value of the pmryIndvInvstr property.
*
* @return
* possible object is
* {@link IndividualPerson8 }
*
*/
public IndividualPerson8 getPmryIndvInvstr() {
return pmryIndvInvstr;
}
/**
* Sets the value of the pmryIndvInvstr property.
*
* @param value
* allowed object is
* {@link IndividualPerson8 }
*
*/
public PortfolioTransferInstructionV03 setPmryIndvInvstr(IndividualPerson8 value) {
this.pmryIndvInvstr = value;
return this;
}
/**
* Gets the value of the scndryIndvInvstr property.
*
* @return
* possible object is
* {@link IndividualPerson8 }
*
*/
public IndividualPerson8 getScndryIndvInvstr() {
return scndryIndvInvstr;
}
/**
* Sets the value of the scndryIndvInvstr property.
*
* @param value
* allowed object is
* {@link IndividualPerson8 }
*
*/
public PortfolioTransferInstructionV03 setScndryIndvInvstr(IndividualPerson8 value) {
this.scndryIndvInvstr = value;
return this;
}
/**
* Gets the value of the othrIndvInvstr 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 othrIndvInvstr property.
*
*
* For example, to add a new item, do as follows:
*
* getOthrIndvInvstr().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link IndividualPerson8 }
*
*
*/
public List getOthrIndvInvstr() {
if (othrIndvInvstr == null) {
othrIndvInvstr = new ArrayList();
}
return this.othrIndvInvstr;
}
/**
* Gets the value of the pmryCorpInvstr property.
*
* @return
* possible object is
* {@link Organisation4 }
*
*/
public Organisation4 getPmryCorpInvstr() {
return pmryCorpInvstr;
}
/**
* Sets the value of the pmryCorpInvstr property.
*
* @param value
* allowed object is
* {@link Organisation4 }
*
*/
public PortfolioTransferInstructionV03 setPmryCorpInvstr(Organisation4 value) {
this.pmryCorpInvstr = value;
return this;
}
/**
* Gets the value of the scndryCorpInvstr property.
*
* @return
* possible object is
* {@link Organisation4 }
*
*/
public Organisation4 getScndryCorpInvstr() {
return scndryCorpInvstr;
}
/**
* Sets the value of the scndryCorpInvstr property.
*
* @param value
* allowed object is
* {@link Organisation4 }
*
*/
public PortfolioTransferInstructionV03 setScndryCorpInvstr(Organisation4 value) {
this.scndryCorpInvstr = value;
return this;
}
/**
* Gets the value of the othrCorpInvstr 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 othrCorpInvstr property.
*
*
* For example, to add a new item, do as follows:
*
* getOthrCorpInvstr().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link Organisation4 }
*
*
*/
public List getOthrCorpInvstr() {
if (othrCorpInvstr == null) {
othrCorpInvstr = new ArrayList();
}
return this.othrCorpInvstr;
}
/**
* Gets the value of the trfrAcct property.
*
* @return
* possible object is
* {@link Account5 }
*
*/
public Account5 getTrfrAcct() {
return trfrAcct;
}
/**
* Sets the value of the trfrAcct property.
*
* @param value
* allowed object is
* {@link Account5 }
*
*/
public PortfolioTransferInstructionV03 setTrfrAcct(Account5 value) {
this.trfrAcct = value;
return this;
}
/**
* Gets the value of the nmneeAcct property.
*
* @return
* possible object is
* {@link Account6 }
*
*/
public Account6 getNmneeAcct() {
return nmneeAcct;
}
/**
* Sets the value of the nmneeAcct property.
*
* @param value
* allowed object is
* {@link Account6 }
*
*/
public PortfolioTransferInstructionV03 setNmneeAcct(Account6 value) {
this.nmneeAcct = value;
return this;
}
/**
* Gets the value of the trfee property.
*
* @return
* possible object is
* {@link PartyIdentification2Choice }
*
*/
public PartyIdentification2Choice getTrfee() {
return trfee;
}
/**
* Sets the value of the trfee property.
*
* @param value
* allowed object is
* {@link PartyIdentification2Choice }
*
*/
public PortfolioTransferInstructionV03 setTrfee(PartyIdentification2Choice value) {
this.trfee = value;
return this;
}
/**
* Gets the value of the cshAcct property.
*
* @return
* possible object is
* {@link CashAccount11 }
*
*/
public CashAccount11 getCshAcct() {
return cshAcct;
}
/**
* Sets the value of the cshAcct property.
*
* @param value
* allowed object is
* {@link CashAccount11 }
*
*/
public PortfolioTransferInstructionV03 setCshAcct(CashAccount11 value) {
this.cshAcct = value;
return this;
}
/**
* Gets the value of the pdctTrf 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 pdctTrf property.
*
*
* For example, to add a new item, do as follows:
*
* getPdctTrf().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link ISATransfer1 }
*
*
*/
public List getPdctTrf() {
if (pdctTrf == null) {
pdctTrf = new ArrayList();
}
return this.pdctTrf;
}
/**
* 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 othrIndvInvstr list.
* @see #getOthrIndvInvstr()
*
*/
public PortfolioTransferInstructionV03 addOthrIndvInvstr(IndividualPerson8 othrIndvInvstr) {
getOthrIndvInvstr().add(othrIndvInvstr);
return this;
}
/**
* Adds a new item to the othrCorpInvstr list.
* @see #getOthrCorpInvstr()
*
*/
public PortfolioTransferInstructionV03 addOthrCorpInvstr(Organisation4 othrCorpInvstr) {
getOthrCorpInvstr().add(othrCorpInvstr);
return this;
}
/**
* Adds a new item to the pdctTrf list.
* @see #getPdctTrf()
*
*/
public PortfolioTransferInstructionV03 addPdctTrf(ISATransfer1 pdctTrf) {
getPdctTrf().add(pdctTrf);
return this;
}
/**
* Adds a new item to the xtnsn list.
* @see #getXtnsn()
*
*/
public PortfolioTransferInstructionV03 addXtnsn(Extension1 xtnsn) {
getXtnsn().add(xtnsn);
return this;
}
}