001 package market; 002 003 import data.CatalogItem; 004 import data.ooimpl.CatalogImpl; 005 006 /** 007 * A CatalogImpl, where the CIArticles of the market are stored. The market's offer, and therefore 008 * this catalog, never changes. 009 */ 010 public class CArticleCatalog extends CatalogImpl { 011 012 /** 013 * @param name the ID of the CArticleCatalog 014 */ 015 public CArticleCatalog(String name) { 016 super(name); 017 } 018 019 /** 020 * Adds a CatalogItem to the catalog. Used as a shortcut for <code>add(item, null)</code>. 021 * @param item the CatalogItem to be added. 022 */ 023 public void add(CatalogItem item) { 024 add(item, null); 025 } 026 027 /** 028 * Removes a CatalogItem from the catalog. Used as a shortcut for <code>remove(name, null)</code> 029 * including the try-catch-block. 030 * @param name the name of the CatalogItem to be removed. 031 */ 032 public void remove(String name) { 033 try { 034 remove(name, null); 035 } 036 catch (Exception e) { 037 System.err.println(e.getMessage()); 038 } 039 } 040 041 /** 042 * Gets a CatalogItem by its name. Used as a shortcut for <code>get(name, null)</code> 043 * including the try-catch-block. 044 * 045 * @param name the name of the searched CatalogItem. 046 * @return the searched CatalogItem if found, otherwise <code>null</code>. 047 */ 048 public CIArticle get(String name) { 049 try { 050 return (CIArticle)get(name, null, false); 051 } 052 catch (Exception e) { 053 System.err.println(e.getMessage()); 054 return null; 055 } 056 } 057 }