
com.prowidesoftware.swift.model.mx.dic.OrderInstructionStatusReportV04 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
* The OrderInstructionStatusReport message is sent by an executing party, for example, a transfer agent, to the instructing party, for example, an investment manager or its authorised representative, to report the status of an order from the time the executing party receives the order until the time the order is executed.
* Usage
* The OrderInstructionStatusReport message is used to report on the status of a subscription, redemption or a switch order.
* The OrderInstructionStatusReport message may be used to give the status of:
* - one order message by using OrderDetailsReport or,
* - one or more individual order instructions by using IndividualOrderDetailsReport, or
* - one or more switch orders by using SwitchOrderDetailsReport.
* If the OrderInstructionStatusReport message is used to report the status of an individual order, then IndividualOrderDetailsReport is used and the order reference of the individual order is quoted in OrderReference. The message identification of the message in which the individual order was conveyed may also be quoted in RelatedReference but this is not recommended.
* If the OrderInstructionStatusReport message is used to report the status of a switch order, then SwitchOrderDetailsReport is used and the order reference of the switch order is quoted in OrderReference. The message identification of the message in which the switch order was conveyed may also be quoted in RelatedReference but this is not recommended.
* If the OrderInstructionStatusReport message is used to report the status of an entire order message, for example, the SubscriptionBulkOrder, or a SubscriptionOrder containing several orders, then OrderDetailsReport is used and the message identification of the order message is quoted in RelatedReference. All the orders within the message must have the same status.
* One of the following statuses can be reported:
* - an accepted status , or,
* - an already executed status, or,
* - a sent to next party status, or,
* - a received status, or,
* - a settled status, or,
* - a communication problem with next party status, or,
* - a confirmation amendment status, or,
* - a done for the day status, or,
* - a partially done status, or,
* - an open status, or,
* - a cancelled status, or
* - a conditionally accepted status, or,
* - a rejected status, or,
* - a suspended status, or,
* - a partially settled status, or,
* - an in-repair status (only for an individual or switch order).
* For a switch order, the OrderInstructionStatusReport message provides the status of the whole switch order, that is, it is not possible to accept one leg and to reject the other leg: the entire switch order has to be rejected. In order to identify the legs within the switch that are causing the problem, the leg is identified in either the RedemptionLegIdentification or SubscriptionLegIdentification elements.
* When the OrderInstructionStatusReport is used to give the status of an individual or a switch order, the following can be specified:
* - repaired conditions (for a switch, this is at the level of a leg),
* - information related to the order, for example, settlement amount, number of units, expected trade date.
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "OrderInstructionStatusReportV04", propOrder = {
"msgId",
"ref",
"stsRpt",
"xtnsn"
})
public class OrderInstructionStatusReportV04 {
@XmlElement(name = "MsgId", required = true)
protected MessageIdentification1 msgId;
@XmlElement(name = "Ref")
protected References61Choice ref;
@XmlElement(name = "StsRpt", required = true)
protected Status24Choice stsRpt;
@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 OrderInstructionStatusReportV04 setMsgId(MessageIdentification1 value) {
this.msgId = value;
return this;
}
/**
* Gets the value of the ref property.
*
* @return
* possible object is
* {@link References61Choice }
*
*/
public References61Choice getRef() {
return ref;
}
/**
* Sets the value of the ref property.
*
* @param value
* allowed object is
* {@link References61Choice }
*
*/
public OrderInstructionStatusReportV04 setRef(References61Choice value) {
this.ref = value;
return this;
}
/**
* Gets the value of the stsRpt property.
*
* @return
* possible object is
* {@link Status24Choice }
*
*/
public Status24Choice getStsRpt() {
return stsRpt;
}
/**
* Sets the value of the stsRpt property.
*
* @param value
* allowed object is
* {@link Status24Choice }
*
*/
public OrderInstructionStatusReportV04 setStsRpt(Status24Choice value) {
this.stsRpt = 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 xtnsn list.
* @see #getXtnsn()
*
*/
public OrderInstructionStatusReportV04 addXtnsn(Extension1 xtnsn) {
getXtnsn().add(xtnsn);
return this;
}
}