package compositeIter;
import java.util.ArrayList;
import java.util.Iterator;
public class Menu extends MenuComponent{
ArrayList<MenuComponent> menuComponents = new ArrayList<MenuComponent>();
String name;
String description;
public ArrayList<MenuComponent> getMenuComponents()
{
return menuComponents;
}
public Menu(String name,String description)
{
this.name = name;
this.description = description;
}
public void add(MenuComponent menuComponent)
{
menuComponents.add(menuComponent);
//deep++;
}
public void remove(MenuComponent menuComponent)
{
menuComponents.remove(menuComponent);
}
public MenuComponent getChild(int i)
{
return (MenuComponent)menuComponents.get(i);
}
public String getName()
{
return name;
}
public String getDescription()
{
return description;
}
public void print()
{
System.out.print(getName());
System.out.println("--------------begin");
Iterator<MenuComponent> iterator = menuComponents.iterator();
while(iterator.hasNext())
{
MenuComponent menuComponent = (MenuComponent)iterator.next();
menuComponent.print();
}
System.out.print(getName());
System.out.println("---------------end");
}
public Iterator createIterator()
{
return new CompositeIterator(menuComponents.iterator());
}
}