diff --git a/src/main/java/Model/Exchange.java b/src/main/java/Model/Exchange.java index 320fae8..65fa6aa 100644 --- a/src/main/java/Model/Exchange.java +++ b/src/main/java/Model/Exchange.java @@ -66,8 +66,8 @@ public Transaction buy(String symbol, BigDecimal quantity, Player player) { // lager en ny "andel" basert på nåværende salgspris Share shareToBuy = new Share(stock, quantity, stock.getSalesPrice()); - // oppretter kjøpstransaksjonen for den uka - Purchase purchase = new Purchase(shareToBuy, this.week); + // oppretter kjøpstransaksjonen for den uka via fabrikken + Transaction purchase = TransactionFactory.createPurchase(shareToBuy, this.week); // committer til player purchase.commit(player); @@ -81,8 +81,8 @@ public Transaction sell(Share share, Player player) { return null; } - // oppretter salgstransaksjonen for den uka - Sale sale = new Sale(share, this.week); + // oppretter salgstransaksjonen for den uka via fabrikken + Transaction sale = TransactionFactory.createSale(share, this.week); // commiter til player sale.commit(player); diff --git a/src/main/java/Model/TransactionFactory.java b/src/main/java/Model/TransactionFactory.java new file mode 100644 index 0000000..a3b8c9a --- /dev/null +++ b/src/main/java/Model/TransactionFactory.java @@ -0,0 +1,22 @@ +package Model; + +/** + * Factory for creating transaction objects + */ +public class TransactionFactory { + + /** + * Create purchase transaction + */ + public static Transaction createPurchase(Share share, int week) { + return new Purchase(share, week); + } + + /** + * Create sale transaction + */ + public static Transaction createSale(Share share, int week) { + return new Sale(share, week); + } + +}