\r
import java.text.MessageFormat;\r
import java.util.Arrays;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
import java.util.Scanner;\r
import org.mxchange.addressbook.UnhandledUserChoiceException;\r
import org.mxchange.addressbook.application.AddressbookApplication;\r
* @author Roland Haeder\r
*/\r
public class ConsoleClient extends BaseClient implements Client {\r
- /**\r
- * Menu system\r
- */\r
- private final Map<String, Menu> menus;\r
-\r
/**\r
* Scanner instance for reading data from console input\r
*/\r
// Init scanner instance\r
this.scanner = new Scanner(System.in);\r
\r
- // Init menu map\r
- this.menus = new HashMap<>(10);\r
-\r
// Fill menu map\r
- this.fillConsoleMenuMap();\r
+ this.fillMenuMap();\r
}\r
\r
/**\r
@Override\r
public void doUserMenuChoice () throws UnhandledUserChoiceException {\r
// Get all access keys from menu\r
- char[] accessKeys = MenuTools.getAccessKeysFromMenuMap(this.menus, this.getCurrentMenu());\r
+ char[] accessKeys = MenuTools.getAccessKeysFromMenuMap(this.getMenus(), this.getCurrentMenu());\r
\r
// Output textural message and ask for a char as input\r
char choice = this.enterChar(accessKeys, "Bitte Auswahl eingeben (0=Programm beenden): ");\r
this.getContactManager().addOtherAddress();\r
break;\r
\r
- case '4': // Change other addess\r
+ case '4': // List contacts\r
+ this.getContactManager().listContacts();\r
+ break;\r
+ \r
+ case '5': // Search addresses\r
+ this.getContactManager().searchContacts();\r
+ break;\r
+\r
+ case '6': // Change other addess\r
this.getContactManager().changeOtherAddress();\r
break;\r
\r
- case '5': // Delete other address\r
+ case '7': // Delete other address\r
this.getContactManager().deleteOtherAddress();\r
break;\r
\r
this.showMenu(this.getCurrentMenu());\r
}\r
\r
+ /**\r
+ * Shows given menu entry to user\r
+ * \r
+ * @param item Menu entry\r
+ */\r
@Override\r
public void showEntry (final SelectableMenuItem item) {\r
// Access key then text\r
\r
// Debug message\r
this.getLogger().debug("Intro shown to user");\r
- }\r
+ }\r
\r
@Override\r
public void userChooseChangeContactData (final Contact contact) throws UnhandledUserChoiceException {\r
/**\r
* Fills menu map with menu entries\r
*/\r
- protected void fillConsoleMenuMap () {\r
+ @Override\r
+ protected final void fillMenuMap () {\r
// Initialize first (main) menu\r
Menu menu = new ConsoleMenu("main", this);\r
\r
// Add it\r
- this.menus.put("main", menu);\r
- }\r
-\r
- /**\r
- * "Getter" for given menu type\r
- *\r
- * @param menuType Menu type instance to return\r
- * @return Menu or null if not found\r
- */\r
- @Override\r
- public Menu getMenu (final String menuType) {\r
- // Default is not found\r
- Menu menu = null;\r
- \r
- // Check array\r
- if (this.menus.containsKey(menuType)) {\r
- // Found!\r
- menu = this.menus.get(menuType);\r
- }\r
- \r
- // Return it\r
- return menu;\r
+ this.getMenus().put("main", menu);\r
}\r
}\r