package org.marketcetera.client;
import org.marketcetera.util.misc.ClassVersion;
import org.marketcetera.trade.ExecutionReport;
import org.marketcetera.trade.OrderCancelReject;
/* $License$ */
/**
* A receiver of trading reports. Classes that need to be able to
* receive execution reports can implement this interface and register
* themselves to receive execution reports via
* {@link Client#addReportListener(ReportListener)}.
* <p>
* It's not expected that report listeners will take too much time to
* return. Currently all report listeners are invoked sequentially.
* If a report listener takes too much time to process the report, it will
* delay the delivery of report to other registered listeners.
*
* @author anshul@marketcetera.com
* @version $Id: ReportListener.java 16154 2012-07-14 16:34:05Z colin $
* @since 1.0.0
*/
@ClassVersion("$Id: ReportListener.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$
public interface ReportListener {
/**
* Invoked to supply an execution report instance to the report listener.
*
* @param inReport The received execution report.
*/
public void receiveExecutionReport(ExecutionReport inReport);
/**
* Invoked to supply an order cancel reject report instance to the report
* listener.
*
* @param inReport The received order cancel rejection report.
*/
public void receiveCancelReject(OrderCancelReject inReport);
}