diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Portfolio.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Portfolio.java index e69de29..bee0941 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Portfolio.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Portfolio.java @@ -0,0 +1,41 @@ +package edu.ntnu.idi.idatt2003.g40.mappe; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +public class Portfolio { + + private final List shares = new ArrayList<>(); + + public Portfolio() { + // Intentionally empty + } + + public boolean addShare(Share share) { + Objects.requireNonNull(share, "share cannot be null"); + return shares.add(share); + } + + public boolean removeShare(Share share) { + Objects.requireNonNull(share, "share cannot be null"); + return shares.remove(share); + } + + + public List getShares() { + return List.copyOf(shares); + } + + public List getShares(String symbol) { + Objects.requireNonNull(symbol, "symbol cannot be null"); + return shares.stream() + .filter(s -> symbol.equalsIgnoreCase(s.getStock().getSymbol())) + .toList(); + } + + public boolean contains(Share share) { + Objects.requireNonNull(share, "share cannot be null"); + return shares.contains(share); + } +}