Sale.java
package edu.ntnu.idi.idatt.model.transaction;
import edu.ntnu.idi.idatt.model.player.Player;
import edu.ntnu.idi.idatt.model.portfolio.Share;
import edu.ntnu.idi.idatt.service.transaction.SaleCalculator;
/**
* Sale class
*
* <p>
* Manages player state at selling stocks.
* Collected as detail in TransactionArchive.
* </p>
*
* @see Transaction
* @see TransactionArchive
*/
public class Sale extends Transaction {
/**
* Constructor for a Sale
*
* @param share - The sold share
* @param week - The current week
*/
public Sale(Share share, int week) {
super(share, week, new SaleCalculator(share));
}
/**
* @see Transaction
* @param player - The player that does the transaction
*/
@Override
public void commit(Player player) {
player.addMoney(this.getCalculator().calculateTotal());
player.getPortfolio().removeShare(this.getShare());
player.getTransactionArchive().add(this);
this.commited = true;
}
}