From 74e51aca372023a558d53735db7d8364f7d86903 Mon Sep 17 00:00:00 2001 From: Solveig Natvig Date: Sun, 24 May 2026 19:18:31 +0200 Subject: [PATCH 1/2] Create TransactionFactory class --- src/main/java/Model/TransactionFactory.java | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/main/java/Model/TransactionFactory.java 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); + } + +} From 0f452a298f64eb7e93de3be348780230a6d12463 Mon Sep 17 00:00:00 2001 From: Solveig Natvig Date: Sun, 24 May 2026 19:20:14 +0200 Subject: [PATCH 2/2] Changed Exchange to use TransactionFactory --- src/main/java/Model/Exchange.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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);