Skip to content

implement skeleton for exchange class #27

Merged
merged 2 commits into from
Feb 23, 2026
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Model/Exchange.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,55 @@
package edu.ntnu.idi.idatt2003.gruppe42.Model;

import edu.ntnu.idi.idatt2003.gruppe42.Model.Transaction.Transaction;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class Exchange {
private String name;
private int week;
private Map<String, Stock> stockMap;
private Random random;

public Exchange(String name, List<Stock> stocks) {
this.name = name;
this.week = 0;
this.stockMap = new HashMap<String, Stock>();
this.random = new Random();
}

public String getName() {
return name;
}

public int getWeek() {
return week;
}

public boolean hasStock(String symbol) {
return true;
}

public Stock getStock(String symbol) {
return null;
}

public List<Stock> findStocks(String searchTerm) {
return null;
}

public Transaction buy(String symbol, BigDecimal quantity, Player player) {
return null;
}

public Transaction sell(Share share, Player player) {
return null;
}

public void advance() {
week += 1;
}
}
Original file line number Diff line number Diff line change
@@ -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) {

}
}
Original file line number Diff line number Diff line change
@@ -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) {

}
}
Original file line number Diff line number Diff line change
@@ -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) {

}

}
Original file line number Diff line number Diff line change
@@ -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<Transaction> transactions;

public TransactionArchive() {
this.transactions = new ArrayList<>();
}

public boolean add(Transaction transaction) {
return true;
}

public boolean isEmpty() {
return true;
}

public List<Transaction> getTransactions(int week) {
return transactions;
}

public List<Purchase> getPurchases(int week) {
return null;
}

public List<Sale> getSales(int week) {
return null;
}

public int countDistinctWeeks() {
return 0;
}
}