001package myhw3.ui;
002
003import java.util.ArrayList;
004import java.util.List;
005
006public class UIMenuBuilder {
007        private final List<UIMenu.Pair> menu = new ArrayList<UIMenu.Pair>();
008        public void add(String prompt, UIMenuAction action) {
009                if (null == action)
010                        throw new IllegalArgumentException();
011                menu.add(new UIMenu.Pair(prompt, action));
012        }
013        public UIMenu toUIMenu(String heading) {
014                if (null == heading)
015                        throw new IllegalArgumentException();
016                if (menu.size() <= 1)
017                        throw new IllegalStateException();
018                UIMenu.Pair[] array = new UIMenu.Pair[menu.size()];
019                for (int i = 0; i < menu.size(); i++)
020                        array[i] = menu.get(i);
021                return new UIMenu(heading, array);
022        }
023}