import java.util.HashMap;\r
import java.util.Map;\r
import org.mxchange.addressbook.BaseFrameworkSystem;\r
+import org.mxchange.addressbook.manager.contact.ContactManager;\r
+import org.mxchange.addressbook.manager.contact.ManageableContact;\r
import org.mxchange.addressbook.menu.Menu;\r
\r
/**\r
}\r
\r
/**\r
- * Disables running state, so the main loop can abort.\r
+ * Shutdown method for all clients\r
*/\r
- public void disableIsRunning () {\r
- this.isRunning = false;\r
+ public void doShutdown () {\r
+ // Disable client\r
+ this.disableIsRunning();\r
+\r
+ // Shuts down contact manager\r
+ this.getContactManager().doShutdown();\r
}\r
\r
/**\r
return this.isRunning;\r
}\r
\r
+ /**\r
+ * Disables running state, so the main loop can abort.\r
+ */\r
+ protected void disableIsRunning () {\r
+ this.isRunning = false;\r
+ }\r
+\r
/**\r
* Fills menu map with swing menus\r
*/\r
return this.menus;\r
}\r
\r
+ /**\r
+ * Initializes contact manager\r
+ */\r
+ protected void initContactManager () {\r
+ // Debug message\r
+ this.getLogger().debug("Initializing contact manager ...");\r
+ \r
+ // Init contact manager with console client\r
+ // @TODO Static initial amount of contacts\r
+ ManageableContact manager = new ContactManager (100, (Client) this);\r
+ \r
+ // Set it here\r
+ this.setContactManager(manager);\r
+ \r
+ // Debug message\r
+ this.getLogger().debug("Contact manager has been initialized.");\r
+ }\r
+\r
/**\r
* Shows given menu\r
*\r