package org.marketcetera.core.position.impl; import java.math.BigDecimal; import java.util.Date; import org.marketcetera.trade.BrokerID; import org.marketcetera.trade.ExecutionReport; import org.marketcetera.trade.ExecutionType; import org.marketcetera.trade.Hierarchy; import org.marketcetera.trade.Instrument; import org.marketcetera.trade.OrderCapacity; import org.marketcetera.trade.OrderID; import org.marketcetera.trade.OrderStatus; import org.marketcetera.trade.OrderType; import org.marketcetera.trade.Originator; import org.marketcetera.trade.PositionEffect; import org.marketcetera.trade.ReportID; import org.marketcetera.trade.Side; import org.marketcetera.trade.TimeInForce; import org.marketcetera.trade.UserID; /* $License$ */ /** * Mock execution report implementing only what is necessary for {@link PositionEngineImpl}. * * @author <a href="mailto:will@marketcetera.com">Will Horn</a> * @version $Id: MockExecutionReport.java 16888 2014-04-22 18:32:36Z colin $ * @since 1.5.0 */ public class MockExecutionReport implements ExecutionReport { private static final long serialVersionUID = 2L; private final String mAccount; private final Instrument mInstrument; private final Side mSide; private final BigDecimal mPrice; private final BigDecimal mQuantity; private final OrderStatus mStatus; private final ExecutionType executionType; private final Originator originator; private final Hierarchy hierarchy; private final ReportID mId; private UserID mViewer; /** * Create a new MockExecutionReport instance. * * @param account a <code>String</code> value * @param instrument an <code>Instrument</code> value * @param trader a <code>long</code> value * @param side a <code>Side</code> value * @param price a <code>String</code> value * @param quantity a <code>String</code> value * @param sequence a <code>long</code> value * @param status an <code>OrderStatus</code> value * @param inExecutionType an <code>ExecutionType</code> value * @param inOriginator an <code>Originator</code> value */ public MockExecutionReport(String account, Instrument instrument, long trader, Side side, String price, String quantity, long sequence, OrderStatus status, ExecutionType inExecutionType, Originator inOriginator) { mAccount = account; mInstrument = instrument; mSide = side; mPrice = new BigDecimal(price); mQuantity = new BigDecimal(quantity); mStatus = status; mId = new ReportID(sequence); mViewer = new UserID(trader); executionType = inExecutionType; originator = inOriginator; hierarchy = Hierarchy.Flat; } @Override public BigDecimal getPrice() { return null; } @Override public String getAccount() { return mAccount; } @Override public Instrument getInstrument() { return mInstrument; } @Override public Side getSide() { return mSide; } @Override public BigDecimal getLastPrice() { return mPrice; } @Override public BigDecimal getLastQuantity() { return mQuantity; } @Override public OrderStatus getOrderStatus() { return mStatus; } @Override public ReportID getReportID() { return mId; } @Override public UserID getViewerID() { return mViewer; } @Override public Date getTransactTime() { return null; } @Override public BigDecimal getAveragePrice() { return null; } @Override public BigDecimal getCumulativeQuantity() { return null; } @Override public String getExecutionID() { return null; } @Override public ExecutionType getExecutionType() { return executionType; } @Override public String getLastMarket() { return null; } @Override public BigDecimal getLeavesQuantity() { return null; } @Override public OrderCapacity getOrderCapacity() { return null; } @Override public BigDecimal getOrderQuantity() { return null; } @Override public BigDecimal getOrderDisplayQuantity() { return null; } @Override public OrderType getOrderType() { return null; } @Override public Originator getOriginator() { return originator; } /* (non-Javadoc) * @see org.marketcetera.trade.ReportBase#getHierarchy() */ @Override public Hierarchy getHierarchy() { return hierarchy; } @Override public UserID getActorID() { return null; } @Override public PositionEffect getPositionEffect() { return null; } @Override public TimeInForce getTimeInForce() { return null; } @Override public boolean isCancelable() { return false; } @Override public BrokerID getBrokerID() { return null; } @Override public String getBrokerOrderID() { return null; } @Override public OrderID getOrderID() { return null; } @Override public OrderID getOriginalOrderID() { return null; } @Override public Date getSendingTime() { return null; } @Override public String getText() { return null; } }