/*
* Copyright (c) 2004-2011 Marco Maccaferri and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Marco Maccaferri - initial API and implementation
*/
package org.eclipsetrader.core.trading;
public interface IOrderMonitor {
public static final String PROP_ID = "id";
public static final String PROP_STATUS = "status";
public static final String PROP_FILLED_QUANTITY = "filledQuantity";
public static final String PROP_AVERAGE_PRICE = "averagePrice";
public static final String PROP_MESSAGE = "message";
public IOrder getOrder();
public IBroker getBrokerConnector();
/**
* Gets the broker assigned order id.
*
* @return the order id.
*/
public String getId();
public void addOrderMonitorListener(IOrderMonitorListener listener);
public void removeOrderMonitorListener(IOrderMonitorListener listener);
public void submit() throws BrokerException;
public void cancel() throws BrokerException;
public boolean allowModify();
public void modify(IOrder order) throws BrokerException;
public IOrderStatus getStatus();
public Long getFilledQuantity();
public Double getAveragePrice();
public String getMessage();
}