From 04856227bdd3a5d6163dac82c40feea540bf9998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Einar=20Sk=C3=B8ien?= Date: Sat, 21 Feb 2026 16:46:08 +0100 Subject: [PATCH] Implement skeleton for Transaction, Purchase, Sale and TransactionArchive classes --- .../gruppe42/Model/Transaction/Purchase.java | 16 +++++++- .../gruppe42/Model/Transaction/Sale.java | 15 +++++++- .../Model/Transaction/Transaction.java | 38 ++++++++++++++++++- .../Model/Transaction/TransactionArchive.java | 32 ++++++++++++++++ 4 files changed, 98 insertions(+), 3 deletions(-) diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Purchase.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Purchase.java index d7c5d36..56b06cc 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Purchase.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Purchase.java @@ -1,6 +1,20 @@ package edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Calculator.PurchaseCalculator; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Calculator.TransactionCalculator; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Player; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Share; + import java.math.BigDecimal; -public class Purchase { +public class Purchase extends Transaction { + + public Purchase(Share share, int week) { + super(share, week, new PurchaseCalculator(share)); + } + + @Override + public void commit(Player player) { + + } } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Sale.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Sale.java index abe6057..3ad873d 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Sale.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Sale.java @@ -1,4 +1,17 @@ package edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction; -public class Sale { +import edu.ntnu.idi.idatt2003.gruppe42.Model.Calculator.SaleCalculator; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Player; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Share; + +public class Sale extends Transaction { + + public Sale(Share share, int week) { + super(share, week, new SaleCalculator(share)); + } + + @Override + public void commit(Player player) { + + } } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Transaction.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Transaction.java index fa07f71..712baf7 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Transaction.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/Transaction.java @@ -1,4 +1,40 @@ package edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction; -public class Transaction { +import edu.ntnu.idi.idatt2003.gruppe42.Model.Calculator.TransactionCalculator; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Player; +import edu.ntnu.idi.idatt2003.gruppe42.Model.Share; + +public abstract class Transaction { + private Share share; + private int week; + private TransactionCalculator calculator; + private boolean committed; + + protected Transaction(Share share, int week, TransactionCalculator calculator) { + this.share = share; + this.week = week; + this.calculator = calculator; + this.committed = false; + } + + public Share getShare() { + return share; + } + + public int getWeek() { + return week; + } + + public TransactionCalculator getCalculator() { + return calculator; + } + + public boolean isCommitted() { + return committed; + } + + public void commit(Player player) { + + } + } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/TransactionArchive.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/TransactionArchive.java index f459d56..c811205 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/TransactionArchive.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Transaction/TransactionArchive.java @@ -1,4 +1,36 @@ package edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction; +import java.util.ArrayList; +import java.util.List; + public class TransactionArchive { + private List transactions; + + public TransactionArchive() { + this.transactions = new ArrayList<>(); + } + + public boolean add(Transaction transaction) { + return true; + } + + public boolean isEmpty() { + return true; + } + + public List getTransactions(int week) { + return transactions; + } + + public List getPurchases(int week) { + return null; + } + + public List getSales(int week) { + return null; + } + + public int countDistinctWeeks() { + return 0; + } }