package org.marketcetera.trade; import org.marketcetera.util.misc.ClassVersion; import quickfix.Message; import java.util.Date; import javax.xml.bind.annotation.XmlSeeAlso; /* $License$ */ /** * The base class for reports. This class is public for the sake of * JAXB and is not intended for general use. * * @author anshul@marketcetera.com * @version $Id: ReportBaseImpl.java 16888 2014-04-22 18:32:36Z colin $ * @since 1.0.0 */ @XmlSeeAlso ({ExecutionReportImpl.class, OrderCancelRejectImpl.class}) @ClassVersion("$Id: ReportBaseImpl.java 16888 2014-04-22 18:32:36Z colin $") public class ReportBaseImpl extends FIXMessageWrapper implements ReportBase { @Override public synchronized OrderID getOrderID() { return FIXUtil.getOrderID(getMessage()); } @Override public synchronized OrderID getOriginalOrderID() { return FIXUtil.getOriginalOrderID(getMessage()); } @Override public synchronized OrderStatus getOrderStatus() { return FIXUtil.getOrderStatus(getMessage()); } @Override public synchronized String getText() { return FIXUtil.getText(getMessage()); } @Override public BrokerID getBrokerID() { return mBrokerID; } @Override public synchronized Date getSendingTime() { return FIXUtil.getSendingTime(getMessage()); } @Override public synchronized String getBrokerOrderID() { return FIXUtil.getBrokerOrderID(getMessage()); } @Override public ReportID getReportID() { return mReportID; } @Override public Originator getOriginator() { return mOriginator; } /* (non-Javadoc) * @see org.marketcetera.trade.ReportBase#getHierarchy() */ @Override public Hierarchy getHierarchy() { return hierarchy; } @Override public UserID getActorID() { return mActorID; } @Override public UserID getViewerID() { return mViewerID; } /** * This method is provided to assign ReportIDs to the instances * after they have been persisted. This method is an implementation * artifact and is not meant to be used by the clients of this API. * * @param inInstance The report instance. * @param inReportID The reportID that needs to be assigned to the instance. */ public static void assignReportID(ReportBaseImpl inInstance, ReportID inReportID) { inInstance.mReportID = inReportID; } /** * Creates an instance. * * @param inMessage the FIX Message. * @param inBrokerID the brokerID from which this report originated. * @param inOriginator the originator of this report. * @param inHierarchy a <code>Hierarchy</code> value * @param inActorID the ID of the actor user of this report. It may be null. * @param inViewerID the ID of the viewer user of this report. It may be null. */ protected ReportBaseImpl(Message inMessage, BrokerID inBrokerID, Originator inOriginator, Hierarchy inHierarchy, UserID inActorID, UserID inViewerID) { super(inMessage); mBrokerID = inBrokerID; mOriginator = inOriginator; hierarchy = inHierarchy; mActorID = inActorID; mViewerID = inViewerID; } /** * Creates an instance. This empty constructor is intended for use * by JAXB. */ protected ReportBaseImpl() { mBrokerID = null; mOriginator = null; hierarchy = null; mActorID = null; mViewerID = null; } private ReportID mReportID = null; private final BrokerID mBrokerID; private static final long serialVersionUID = 2L; private final Originator mOriginator; private final Hierarchy hierarchy; private final UserID mActorID; private final UserID mViewerID; }