import java.awt.*; import java.applet.*; // Domain Logic public class ReportGenerator extends DomainLogic { // inherits from DomainLogic public ReportGenerator(TextArea textArea1) { super(textArea1); } public void doPortfolio() { // display portfolio if (chkLogin()) { textArea1.append("PORTFOLIO:\n"); double sum = 0.0; textArea1.append("Stock Shares Market\n"); textArea1.append("----- ------- ---------\n"); for (int i=0; i 0) { Order order = stock.buyheap.testRoot(); price = "$"+order.PRICE; } return price; } private String minPrice(Stock stock) { // minimum offered price is root of sellheap String price = "NONE"; if (stock.sellheap.size() > 0) { Order order = stock.sellheap.testRoot(); price = "$"+order.PRICE; } return price; } public void showQuote(String sym) { // lookup the stock in the hashtable, and display prices sym = sym.toUpperCase(); if (sym.equals("")) textArea1.append("Empty stock field.\n"); else { Stock stock = (Stock) Stock.stocks.get(sym); if (stock == null) textArea1.append("Invalid stock symbol: "+ sym +"\n"); else textArea1.append("Quote: "+ sym +" Minimum SELL: "+minPrice(stock)+ " Maximum BUY: "+maxPrice(stock)+ " Last Sale: "+lastPrice(stock)+"\n\n"); } } } // class ReportGenerator