import java.text.MessageFormat;
import java.util.List;
import org.apache.logging.log4j.Logger;
-import org.mxchange.addressbook.BaseFrameworkSystem;
-import org.mxchange.addressbook.client.Client;
+import org.mxchange.addressbook.BaseAddressbookSystem;
+import org.mxchange.addressbook.client.AddressbookClient;
import org.mxchange.addressbook.menu.item.SelectableMenuItem;
+import org.mxchange.jcore.client.Client;
/**
* Utility class for menu structure
*
* @author Roland Haeder
*/
-public class AddressbookMenu extends BaseFrameworkSystem {
+public class AddressbookMenu extends BaseAddressbookSystem {
/**
* Copies entries for given type into the menu list
} else if (client == null) {
// Abort here
throw new NullPointerException("contact is null"); //NOI18N
+ } else if (!(client instanceof AddressbookClient)) {
+ // Not correct instance
+ throw new IllegalArgumentException(MessageFormat.format("client{0} must implement AddressbookClient", client));
}
+ // Cast client to proper interface
+ AddressbookClient c = (AddressbookClient) client;
+
// Get list size
int size = menuList.size();
switch (menuType) {
case "main": // Main menu //NOI18N
// Enter own data
- menuList.add(client.getMenuItem('1', "Eigene Adresse anlegen"));
+ menuList.add(c.getMenuItem('1', "Eigene Adresse anlegen"));
// Change own data
- menuList.add(client.getMenuItem('2', "Eigene Adresse ändern"));
+ menuList.add(c.getMenuItem('2', "Eigene Adresse ändern"));
// Add new addess
- menuList.add(client.getMenuItem('3', "Neue Adresse hinzufügen"));
+ menuList.add(c.getMenuItem('3', "Neue Adresse hinzufügen"));
// List entries
- menuList.add(client.getMenuItem('4', "Adressbuch anzeigen"));
+ menuList.add(c.getMenuItem('4', "Adressbuch anzeigen"));
// Address search
- menuList.add(client.getMenuItem('5', "Adresse suchen"));
+ menuList.add(c.getMenuItem('5', "Adresse suchen"));
// Change other address
- menuList.add(client.getMenuItem('6', "Adresse ändern"));
+ menuList.add(c.getMenuItem('6', "Adresse ändern"));
// Delete other address
- menuList.add(client.getMenuItem('7', "Adresse löschen"));
+ menuList.add(c.getMenuItem('7', "Adresse löschen"));
// Always last line: Exit program
- menuList.add(client.getMenuItem('0', "Programm verlassen"));
+ menuList.add(c.getMenuItem('0', "Programm verlassen"));
break;
default: // Not supported