/**
* Menu Driven Array
* @author jaybachatero
*
*/
public class Menu
{
// The length of the array.
int menuLength = 10;
// Start the menu string.
String menu = "";
// String menu[menuLength] = new Array();
// Number of menu items.
int totalMenuItems = 0;
// Current step to fall back to.
int currentStep = 1;
// Did we exit already?
boolean menuExit = false;
/**
* Adds items to the menu.
* @param item
*/
public void addMenuItem(String item)
{
// Can't add more if the menu already exited.
if (this.menuExit == false)
{
// Increase it.
this.totalMenuItems++;
// Set the menu item.
this.menu += "\n" + this.totalMenuItems + ". " + item;
}
}
/**
* Get method for the menu.
* @return menu items.
*/
public String getMenuItems()
{
return this.menu;
}
/**
* This method adds the last item in the menu. That is the exit item.
* @param exit
*/
public void addMenuExitItem(String exit)
{
if (this.menuExit == false)
{
if (exit == "")
this.addMenuItem("Exit");
else
this.addMenuItem(exit);
// Ok we exited and there is nothing you can do now.
this.menuExit = true;
}
}
/**
* Returns the id of the exit step.
* @return
*/
public int getExitStep()
{
return this.totalMenuItems;
}
/**
* Adds a header and a footer to the menu.
* @param text - the string for the header/footer.
* @param type - the type of string we are adding. header, footer
*/
public void addMenuHeaderFooter(String text, String type)
{
if (type == "header")
this.menu = text + this.menu;
else if (type == "footer")
this.menu += "\n" + text;
}
/**
* Increases the current step.
*/
public void increaseCurrentStep()
{
this.currentStep++;
}
}