public MenuComponent next() { if (hasNext()) { Iterator<MenuComponent> iterator = stack.peek(); MenuComponent component = iterator.next(); stack.push(component.createIterator()); return component; } else { return null; } }
public void print() { System.out.print("\n" + getName()); System.out.println(", " + getDescription()); System.out.println("---------------------"); Iterator<MenuComponent> iterator = menuComponents.iterator(); while (iterator.hasNext()) { MenuComponent menuComponent = iterator.next(); menuComponent.print(); } }
public Object next() { if (hasNext()) { Iterator iterator = (Iterator) stack.peek(); MenuComponent component = (MenuComponent) iterator.next(); if (component instanceof Menu) { stack.push(component.createIterator()); } return component; } else { return null; } }
@Override public MenuComponent next() { if (hasNext()) { MenuComponent component = stack.peek().next(); if (component instanceof Menu) { stack.push(component.iterator()); } return component; } else { return null; } }
@Override public void print() { String nameAndDescription = getName() + ", " + getDescription(); System.out.println("\n" + nameAndDescription); for (int i = 0; i < nameAndDescription.length(); i++) { System.out.print("-"); } System.out.println(); for (MenuComponent menuComponent : menuComponents) { menuComponent.print(); } }
public void printVegetarianMenu() { Iterator iterator = allMenus.createIterator(); System.out.println("\nVEGETARIAN MENU\n----"); while (iterator.hasNext()) { MenuComponent menuComponent = (MenuComponent) iterator.next(); try { if (menuComponent.isVegetarian()) { menuComponent.print(); } } catch (UnsupportedOperationException e) { } } }
public void printMenu() { allMenus.print(); }