]> git.mxchange.org Git - addressbook-swing.git/blobdiff - Addressbook/src/org/mxchange/addressbook/menu/AddressbookMenu.java
Cleaned up logger XML + renamed interface fixed
[addressbook-swing.git] / Addressbook / src / org / mxchange / addressbook / menu / AddressbookMenu.java
index af29b11fa065e17dafe51b66d4ce94bce5d05a53..12257eb08d96aa8d80fbfba4cf5b53d00281e134 100644 (file)
@@ -19,16 +19,17 @@ package org.mxchange.addressbook.menu;
 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
@@ -51,8 +52,14 @@ public class AddressbookMenu extends BaseFrameworkSystem {
                } 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();
 
@@ -63,28 +70,28 @@ public class AddressbookMenu extends BaseFrameworkSystem {
                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