001package headfirst.iterator.dinermergeri; 002 003import java.util.Iterator; 004 005@SuppressWarnings("rawtypes") 006public class DinerMenu implements Menu { 007 static final int MAX_ITEMS = 6; 008 int numberOfItems = 0; 009 MenuItem[] menuItems; 010 011 public DinerMenu() { 012 menuItems = new MenuItem[MAX_ITEMS]; 013 014 addItem("Vegetarian BLT", 015 "(Fakin') Bacon with lettuce & tomato on whole wheat", true, 2.99); 016 addItem("BLT", 017 "Bacon with lettuce & tomato on whole wheat", false, 2.99); 018 addItem("Soup of the day", 019 "Soup of the day, with a side of potato salad", false, 3.29); 020 addItem("Hotdog", 021 "A hot dog, with saurkraut, relish, onions, topped with cheese", 022 false, 3.05); 023 addItem("Steamed Veggies and Brown Rice", 024 "Steamed vegetables over brown rice", true, 3.99); 025 addItem("Pasta", 026 "Spaghetti with Marinara Sauce, and a slice of sourdough bread", 027 true, 3.89); 028 } 029 030 public void addItem(String name, String description, 031 boolean vegetarian, double price) 032 { 033 MenuItem menuItem = new MenuItem(name, description, vegetarian, price); 034 if (numberOfItems >= MAX_ITEMS) { 035 System.err.println("Sorry, menu is full! Can't add item to menu"); 036 } else { 037 menuItems[numberOfItems] = menuItem; 038 numberOfItems = numberOfItems + 1; 039 } 040 } 041 042 public MenuItem[] getMenuItems() { 043 return menuItems; 044 } 045 046 public Iterator createIterator() { 047 return new DinerMenuIterator(menuItems); 048 //return new AlternatingDinerMenuIterator(menuItems); 049 } 050 051 // other menu methods here 052}