public MenuComponent next() {
   if (hasNext()) {
     Iterator<MenuComponent> iterator = stack.peek();
     MenuComponent component = iterator.next();
     stack.push(component.createIterator());
     return component;
   } else {
     return null;
   }
 }
 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;
   }
 }
Example #3
0
  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) {
      }
    }
  }