20 lines
655 B
Java
20 lines
655 B
Java
package observer;
|
||
|
||
/** Updates portfolio value whenever a held stock changes price */
|
||
public class PortfolioObserver implements StockObserver {
|
||
private final String ownerName;
|
||
private final int sharesHeld;
|
||
|
||
public PortfolioObserver(String ownerName, int sharesHeld) {
|
||
this.ownerName = ownerName;
|
||
this.sharesHeld = sharesHeld;
|
||
}
|
||
|
||
@Override
|
||
public void onPriceChanged(String ticker, double oldPrice, double newPrice) {
|
||
double gain = (newPrice - oldPrice) * sharesHeld;
|
||
System.out.printf(" [Portfolio:%s] %s×%d P&L change: %+.2f%n",
|
||
ownerName, ticker, sharesHeld, gain);
|
||
}
|
||
}
|