]> git.mxchange.org Git - jfinancials-lib.git/blobdiff - Addressbook/src/org/mxchange/addressbook/client/Client.java
Moved default close operation into init method to keep constructors small
[jfinancials-lib.git] / Addressbook / src / org / mxchange / addressbook / client / Client.java
index eeb66b73909715eff5ab6020b1ae6620fb241e25..136c95a8b577be175a543a9b8e64dbbf148ed4ba 100644 (file)
  */\r
 package org.mxchange.addressbook.client;\r
 \r
-import org.mxchange.addressbook.UnhandledUserChoiceException;\r
 import org.mxchange.addressbook.FrameworkInterface;\r
+import org.mxchange.addressbook.UnhandledUserChoiceException;\r
 import org.mxchange.addressbook.contact.Contact;\r
 import org.mxchange.addressbook.menu.item.SelectableMenuItem;\r
 \r
 /**\r
- *\r
+ * An interface for application clients\r
+ * \r
  * @author Roland Haeder\r
  */\r
 public interface Client extends FrameworkInterface {\r
@@ -34,12 +35,44 @@ public interface Client extends FrameworkInterface {
      */\r
     public void displayAddressBox (final Contact contact);\r
 \r
+    /**\r
+     * The user changes own name data\r
+     * @param contact \r
+     */\r
+    public void doChangeOwnNameData (final Contact contact);\r
+\r
+    /**\r
+     * The user changes own address data\r
+     *\r
+     * @param contact Contact instance to change\r
+     */\r
+    public void doChangeOwnAddressData (final Contact contact);\r
+\r
+    /**\r
+     * The user changes own other data\r
+     * \r
+     * @param contact Constact instance to change\r
+     */\r
+    public void doChangeOwnOtherData (final Contact contact);\r
+\r
+    /**\r
+     * Allows the user to enter own data\r
+     * \r
+     * @return Finished Contact instance\r
+     */\r
+    public Contact doEnterOwnData ();\r
+\r
+    /**\r
+     * Shuts down the client and therefore whole application\r
+     */\r
+    public void doShutdown ();\r
+\r
     /**\r
      * Displays a message to the user\r
      *\r
      * @param message Message to show to the user\r
      */\r
-    public void displayMessage (final String message);\r
+    public void outputMessage (final String message);\r
 \r
     /**\r
      * Displays a "box" for the name\r
@@ -58,13 +91,15 @@ public interface Client extends FrameworkInterface {
     /**\r
      * Let the user choose what to change on the address: [n]ame, [a]ddress,\r
      * [o]ther\r
+     * \r
      * @param contact Contact instance to let the user change data\r
      * @throws UnhandledUserChoiceException If choice is not supported\r
      */\r
-    public void doUserChangeAdressChoice (final Contact contact) throws UnhandledUserChoiceException;\r
+    public void userChooseChangeContactData (final Contact contact) throws UnhandledUserChoiceException;\r
 \r
     /**\r
      * Asks the user for a choice and proceeds accordingly\r
+     * \r
      * @throws UnhandledUserChoiceException If choice is not supported\r
      */\r
     public void doUserMenuChoice () throws UnhandledUserChoiceException ;\r
@@ -72,10 +107,11 @@ public interface Client extends FrameworkInterface {
     /**\r
      * Enables isRunning attribute which singals that the client is running\r
      */\r
-    public void enableIsRunning ();\r
+    public void enableIsRunning();\r
 \r
     /**\r
      * Asks the the user to enter a single character which must match validChars\r
+     * \r
      * @param  validChars  Valid chars that are accepted\r
      * @param  message     Message to user\r
      * @return Allowed character\r
@@ -83,7 +119,10 @@ public interface Client extends FrameworkInterface {
     public char enterChar (final char[] validChars, final String message);\r
 \r
     /**\r
-     * Reads a string of minimum and maximum length from the user\r
+     * Reads a string of minimum and maximum length from the user. An empty\r
+     * string should be generally not allowed, but might be okay for e.g.\r
+     * company name.\r
+     * \r
      * @param minLength        Minimum length of the string to read\r
      * @param maxLength        Maximum length of the string to read\r
      * @param message  Message to user\r
@@ -92,14 +131,26 @@ public interface Client extends FrameworkInterface {
      */\r
     public String enterString (final int minLength, final int maxLength, final String message, final boolean allowEmpty);\r
 \r
+    /**\r
+     * Reads an integer (int) from the user\r
+     * \r
+     * @param minimum Minimum allowed number\r
+     * @param maximum Maximum allowed number\r
+     * @param message  Message to user\r
+     * @return Entered string by user or null if empty string is allowed\r
+     */\r
+    public int enterInt (final int minimum, final int maximum, final String message);\r
+\r
     /**\r
      * Setter for current menu choice\r
+     * \r
      * @param currentMenu Current menu choice\r
      */\r
     public void setCurrentMenu (final String currentMenu);\r
 \r
     /**\r
      * Some "Getter" for menu item\r
+     * \r
      * @param accessKey Key to press to access this menu\r
      * @param text Text to show to user\r
      * @return \r
@@ -107,15 +158,16 @@ public interface Client extends FrameworkInterface {
     public SelectableMenuItem getMenuItem (final char accessKey, final String text);\r
 \r
     /**\r
-     * Determines whether the application is still active by checking some\r
+     * Determines whether the client is still active by checking some\r
      * conditions\r
      * \r
-     * @return Whether the application is still active\r
+     * @return Whether the client is still active\r
      */\r
-    public boolean isApplicationRunning ();\r
+    public boolean isRunning();\r
 \r
     /**\r
      * Shows given menu entry in client\r
+     * \r
      * @param item Menu item to show\r
      */\r
     public void showEntry (final SelectableMenuItem item);\r
@@ -123,10 +175,15 @@ public interface Client extends FrameworkInterface {
     /**\r
      * Shows introduction to user\r
      */\r
-    public void showWelcome ();\r
+    public void showWelcome();\r
 \r
     /**\r
      * Shows current menu selection to the user\r
      */\r
-    public void showCurrentMenu ();\r
+    public void showCurrentMenu();\r
+\r
+    /**\r
+     * Inizializes this client\r
+     */\r
+    public void initClient ();\r
 }\r