summaryrefslogtreecommitdiffstats
path: root/engine/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/main/java')
-rw-r--r--engine/src/main/java/market/guess/engine/GuessMarketEngine.java7
-rw-r--r--engine/src/main/java/market/guess/engine/LocalGuessMarketService.java18
-rw-r--r--engine/src/main/java/market/guess/engine/TradingMechanism.java15
-rw-r--r--engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java37
-rw-r--r--engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java37
-rw-r--r--engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java17
6 files changed, 131 insertions, 0 deletions
diff --git a/engine/src/main/java/market/guess/engine/GuessMarketEngine.java b/engine/src/main/java/market/guess/engine/GuessMarketEngine.java
new file mode 100644
index 0000000..aab3cf4
--- /dev/null
+++ b/engine/src/main/java/market/guess/engine/GuessMarketEngine.java
@@ -0,0 +1,7 @@
1package market.guess.engine;
2
3import market.guess.api.LoadResultDTO;
4
5public interface GuessMarketEngine {
6 LoadResultDTO loadEvents();
7}
diff --git a/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java b/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java
new file mode 100644
index 0000000..5a16750
--- /dev/null
+++ b/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java
@@ -0,0 +1,18 @@
1package market.guess.engine;
2
3import market.guess.api.LoadResultDTO;
4import market.guess.engine.provider.GuessMarketContext;
5
6public class LocalGuessMarketService implements GuessMarketEngine {
7 private final GuessMarketContext context;
8
9 public LocalGuessMarketService(GuessMarketContext context) {
10 super();
11 this.context = context;
12 }
13
14 @Override
15 public LoadResultDTO loadEvents() {
16 return context.LoadAsync();
17 }
18}
diff --git a/engine/src/main/java/market/guess/engine/TradingMechanism.java b/engine/src/main/java/market/guess/engine/TradingMechanism.java
new file mode 100644
index 0000000..2f97a2f
--- /dev/null
+++ b/engine/src/main/java/market/guess/engine/TradingMechanism.java
@@ -0,0 +1,15 @@
1package market.guess.engine;
2
3import java.math.BigDecimal;
4
5public interface TradingMechanism {
6 BigDecimal initialCost();
7
8 void onOpen();
9
10 void submit();
11
12 void marketState();
13
14 void settle();
15}
diff --git a/engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java b/engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java
new file mode 100644
index 0000000..99a26ab
--- /dev/null
+++ b/engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java
@@ -0,0 +1,37 @@
1package market.guess.engine.mechanism;
2
3import java.math.BigDecimal;
4import market.guess.engine.TradingMechanism;
5
6public class LmsrTradingMechanism implements TradingMechanism {
7
8 @Override
9 public BigDecimal initialCost() {
10 // TODO Auto-generated method stub
11 throw new UnsupportedOperationException("Unimplemented method 'initialCost'");
12 }
13
14 @Override
15 public void onOpen() {
16 // TODO Auto-generated method stub
17 throw new UnsupportedOperationException("Unimplemented method 'onOpen'");
18 }
19
20 @Override
21 public void submit() {
22 // TODO Auto-generated method stub
23 throw new UnsupportedOperationException("Unimplemented method 'submit'");
24 }
25
26 @Override
27 public void marketState() {
28 // TODO Auto-generated method stub
29 throw new UnsupportedOperationException("Unimplemented method 'marketState'");
30 }
31
32 @Override
33 public void settle() {
34 // TODO Auto-generated method stub
35 throw new UnsupportedOperationException("Unimplemented method 'settle'");
36 }
37}
diff --git a/engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java b/engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java
new file mode 100644
index 0000000..be675ba
--- /dev/null
+++ b/engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java
@@ -0,0 +1,37 @@
1package market.guess.engine.mechanism;
2
3import java.math.BigDecimal;
4import market.guess.engine.TradingMechanism;
5
6public class OrderBookMechanism implements TradingMechanism {
7
8 @Override
9 public BigDecimal initialCost() {
10 // TODO Auto-generated method stub
11 throw new UnsupportedOperationException("Unimplemented method 'initialCost'");
12 }
13
14 @Override
15 public void onOpen() {
16 // TODO Auto-generated method stub
17 throw new UnsupportedOperationException("Unimplemented method 'onOpen'");
18 }
19
20 @Override
21 public void submit() {
22 // TODO Auto-generated method stub
23 throw new UnsupportedOperationException("Unimplemented method 'submit'");
24 }
25
26 @Override
27 public void marketState() {
28 // TODO Auto-generated method stub
29 throw new UnsupportedOperationException("Unimplemented method 'marketState'");
30 }
31
32 @Override
33 public void settle() {
34 // TODO Auto-generated method stub
35 throw new UnsupportedOperationException("Unimplemented method 'settle'");
36 }
37}
diff --git a/engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java b/engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java
new file mode 100644
index 0000000..2306c93
--- /dev/null
+++ b/engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java
@@ -0,0 +1,17 @@
1package market.guess.engine.provider;
2
3import market.guess.api.LoadResultDTO;
4
5public interface GuessMarketContext {
6 LoadResultDTO LoadAsync();
7
8 void SaveChangesAsync();
9
10 void GetAllEventsAsync();
11
12 void GetEventInfoByIdAsync();
13
14 void CreateEventAsync();
15
16 void UpdateEventAsync();
17}