*/\r
package org.mxchange.addressbook.manager.contact;\r
\r
+import java.util.List;\r
+import org.mxchange.addressbook.client.Client;\r
import org.mxchange.addressbook.contact.Contact;\r
import org.mxchange.addressbook.manager.Manageable;\r
\r
* @author Roland Haeder\r
*/\r
public interface ManageableContact extends Manageable {\r
+\r
+ /**\r
+ * List all contacts\r
+ */\r
+ public void listContacts ();\r
+\r
/**\r
* Adds given contact to address book\r
*\r
* @param contact Contact being added\r
* @todo Add check for book size\r
*/\r
+ public void registerContact (final Contact contact);\r
+\r
+ /**\r
+ * Adds given Contact instance to list\r
+ * \r
+ * @param contact Contact instance to add\r
+ */\r
public void addContact (final Contact contact);\r
\r
/**\r
* Let the user add a new other address\r
*/\r
- public void addOtherAddress ();\r
+ public void addOtherAddress();\r
+\r
+ /**\r
+ * The user can change address data, like street, ZIP code, city and country\r
+ * of given Contact instance.\r
+ * \r
+ * @param contact Instance to change data\r
+ * @param client Client instance to call back\r
+ */\r
+ public void doChangeAddressData (final Contact contact, final Client client);\r
+\r
+ /**\r
+ * The user can change name data, like gender, surname, family name and\r
+ * company name (if business contact).\r
+ * \r
+ * @param contact Instance to change data\r
+ * @param client Client instance to call back\r
+ */\r
+ public void doChangeNameData (final Contact contact, final Client client);\r
\r
/**\r
* Let the user change other address\r
*/\r
- public void changeOtherAddress ();\r
+ public void changeOtherAddress();\r
+\r
+ /**\r
+ * The user can change other data, like phone numbers or comments.\r
+ * \r
+ * @param contact Instance to change data\r
+ * @param client Client instance to call back\r
+ */\r
+ public void doChangeOtherData (final Contact contact, final Client client);\r
\r
/**\r
* Let the user change own data\r
*/\r
- public void changeOwnData ();\r
+ public void changeOwnData();\r
\r
/**\r
* Let the user delete other address\r
*/\r
- public void deleteOtherAddress ();\r
+ public void deleteOtherAddress();\r
\r
/**\r
* Asks user for own data\r
*/\r
- public void enterOwnData ();\r
+ public void doEnterOwnData();\r
+\r
+ /**\r
+ * Getter for whole list\r
+ * @return List of all contacts\r
+ */\r
+ public List<Contact> getList ();\r
+\r
+ /**\r
+ * Searches address book for a contact\r
+ */\r
+ public void searchContacts ();\r
\r
/**\r
* Getter for size\r
*\r
* @return size of contact "book"\r
*/\r
- public int size ();\r
+ public int size();\r
}\r