1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package net.sf.emarket.order.service;
21
22 import java.io.Serializable;
23 import java.util.List;
24
25 import net.sf.emarket.account.service.AccountNotActiveException;
26 import net.sf.emarket.account.service.InSufficientCashBalanceException;
27 import net.sf.emarket.account.service.NotEnoughCashException;
28 import net.sf.emarket.account.service.NotEnoughPositionsException;
29 import net.sf.emarket.account.service.NotValidAccountException;
30 import net.sf.emarket.order.domain.Order;
31 import net.sf.emarket.trade.domain.OrderFill;
32 import net.sf.emarket.trade.domain.OrderMatch;
33
34 public interface IOrderManagerService extends Serializable {
35
36 public Order placeOrder(Order order) throws AccountNotActiveException, InSufficientCashBalanceException, NotEnoughPositionsException, InstrumentCannotTradeException, WrongLimitPriceExeption;
37
38 public List<Order> getOpenOrdersForAcctId( String acctId );
39
40 public List<Order> getExecutedOrdersForAcctId( String acctId);
41
42 public Order verifyOrder( Order order ) throws AccountNotActiveException, InSufficientCashBalanceException, NotEnoughPositionsException, InstrumentCannotTradeException, WrongLimitPriceExeption;
43
44 public void fillOrders(List<OrderFill> orderFill ) throws OrderCannotBeFilledException, OrderFillQuantityMismatchException;
45
46 public void executeMatches( List<OrderMatch> matches) throws OrderCannotBeFilledException,
47 NotEnoughCashException, NotValidAccountException, NotEnoughPositionsException;
48 }