Skip to content

Commit f37ffbd

Browse files
committed
first commit
0 parents commit f37ffbd

File tree

7 files changed

+85
-0
lines changed

7 files changed

+85
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package orderbook;
2+
3+
public class Order {
4+
private String id;
5+
private double price;
6+
private int quantity;
7+
private boolean isBuyOrder;
8+
9+
public Order(String id, double price, int quantity, boolean isBuyOrder) {
10+
this.id = id;
11+
this.price = price;
12+
this.quantity = quantity;
13+
this.isBuyOrder = isBuyOrder;
14+
}
15+
16+
//getters
17+
public String getId() {
18+
return id;
19+
}
20+
public double getPrice() {
21+
return price;
22+
}
23+
public int getQuantity() {
24+
return quantity;
25+
}
26+
public boolean getIsBuyOrder() {
27+
return isBuyOrder;
28+
}
29+
30+
//setters
31+
public void setQuantity(int quantity) {
32+
this.quantity = quantity;
33+
}
34+
35+
//debugging
36+
public String toString() {
37+
return (isBuyOrder ? "Buy" : "Sell") + " Order[ID: " + id + ", Price: " + price + ", Quantity: " + quantity + "]";
38+
}
39+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package orderbook;
2+
3+
import java.util.ArrayList;
4+
import java.util.Collections;
5+
import java.util.HashMap;
6+
import java.util.List;
7+
import java.util.TreeMap;
8+
9+
public class OrderBook {
10+
11+
TreeMap<Double, List<Order>> buyOrders = new TreeMap<>(Collections.reverseOrder());
12+
TreeMap<Double, List<Order>> sellOrders = new TreeMap<>();
13+
HashMap<String, Order> orderMap = new HashMap<>();
14+
15+
public void addOrder(Order order) {
16+
TreeMap<Double, List<Order>> refTreeMap = order.getIsBuyOrder() ? buyOrders : sellOrders;
17+
refTreeMap.putIfAbsent(order.getPrice(), new ArrayList<>());
18+
refTreeMap.get(order.getPrice()).add(order);
19+
orderMap.put(order.getId(), order);
20+
}
21+
22+
//remove Order
23+
24+
//view Orders
25+
26+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package orderbook;
2+
3+
public class OrderBookApp {
4+
// TODO
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package orderbook;
2+
3+
public class OrderMatcher {
4+
// TODO
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package orderbook;
2+
3+
public class OrderUtils {
4+
// TODO
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package test;
2+
3+
public class OrderBookTest {
4+
5+
}

OrderBook/src/test/OrderMatcherTest.java

Whitespace-only changes.

0 commit comments

Comments
 (0)