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 * ID for serialization.
014 */
015 private static final long serialVersionUID = 7115018608362610522L;
016
017 /**
018 * @param name the ID of the CArticleCatalog
019 */
020 public CArticleCatalog(String name) {
021 super(name);
022 }
023
024 /**
025 * Adds a CatalogItem to the catalog. Used as a shortcut for <code>add(item, null)</code>.
026 * @param item the CatalogItem to be added.
027 */
028 public void add(CatalogItem item) {
029 add(item, null);
030 }
031
032 /**
033 * Removes a CatalogItem from the catalog. Used as a shortcut for <code>remove(name, null)</code>
034 * including the try-catch-block.
035 * @param name the name of the CatalogItem to be removed.
036 */
037 public void remove(String name) {
038 try {
039 remove(name, null);
040 }
041 catch (Exception e) {
042 System.err.println(e.getMessage());
043 }
044 }
045
046 /**
047 * Gets a CatalogItem by its name. Used as a shortcut for <code>get(name, null)</code>
048 * including the try-catch-block.
049 *
050 * @param name the name of the searched CatalogItem.
051 * @return the searched CatalogItem if found, otherwise <code>null</code>.
052 */
053 public CIArticle get(String name) {
054 try {
055 return (CIArticle)get(name, null, false);
056 }
057 catch (Exception e) {
058 System.err.println(e.getMessage());
059 return null;
060 }
061 }
062 }