001 package market.statistics; 002 003 import market.UCustomer; 004 import data.Value; 005 import data.events.VetoException; 006 import data.ooimpl.CatalogImpl; 007 008 /** 009 * Catalog that contains the statistics of the market's customers. 010 */ 011 public class CCustomerStats extends CatalogImpl { 012 013 public CCustomerStats() { 014 super("Kundenstatistik"); 015 } 016 017 /** 018 * @param id the ID of the customer whose statistics are to be got. 019 * @return the desired customer statistics. 020 */ 021 public CICustomerStats get(String id) { 022 try { 023 return (CICustomerStats)super.get(id, null, false); 024 } 025 catch (VetoException ex) { 026 return null; 027 } 028 } 029 030 /** 031 * @param id the ID of the customer whose statistics are to be removed. 032 */ 033 public void remove(String id) { 034 try { 035 super.remove(id, null); 036 } 037 catch (VetoException ex) {} 038 } 039 040 /** 041 * Updates the customer's statistics whenever he made a purchase. 042 * 043 * @param uc the customer to whose statistics the value should be added. 044 * @param v the value to be added to the statistics. 045 */ 046 public void addSales(UCustomer uc, Value v) { 047 get(uc.getName()).add(Integer.parseInt(v.toString())); 048 } 049 }