]> git.mxchange.org Git - addressbook-swing.git/blob - Addressbook/src/org/mxchange/addressbook/manager/contact/ManageableContact.java
Renamed some methods and auto-sorted them
[addressbook-swing.git] / Addressbook / src / org / mxchange / addressbook / manager / contact / ManageableContact.java
1 /*\r
2  * Copyright (C) 2015 Roland Haeder\r
3  *\r
4  * This program is free software: you can redistribute it and/or modify\r
5  * it under the terms of the GNU General Public License as published by\r
6  * the Free Software Foundation, either version 3 of the License, or\r
7  * (at your option) any later version.\r
8  *\r
9  * This program is distributed in the hope that it will be useful,\r
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
12  * GNU General Public License for more details.\r
13  *\r
14  * You should have received a copy of the GNU General Public License\r
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
16  */\r
17 package org.mxchange.addressbook.manager.contact;\r
18 \r
19 import org.mxchange.addressbook.client.Client;\r
20 import org.mxchange.addressbook.contact.Contact;\r
21 import org.mxchange.addressbook.manager.Manageable;\r
22 \r
23 /**\r
24  *\r
25  * @author Roland Haeder\r
26  */\r
27 public interface ManageableContact extends Manageable {\r
28     /**\r
29      * Adds given contact to address book\r
30      *\r
31      * @param contact Contact being added\r
32      * @todo Add check for book size\r
33      */\r
34     public void addContact (final Contact contact);\r
35 \r
36     /**\r
37      * Let the user add a new other address\r
38      */\r
39     public void addOtherAddress ();\r
40 \r
41     /**\r
42      * The user can change address data, like street, ZIP code, city and country\r
43      * of given Contact instance.\r
44      * \r
45      * @param contact Instance to change data\r
46      * @param client Client instance to call back\r
47      */\r
48     public void doChangeAddressData (final Contact contact, final Client client);\r
49 \r
50     /**\r
51      * The user can change name data, like gender, surname, family name and\r
52      * company name (if business contact).\r
53      * \r
54      * @param contact Instance to change data\r
55      * @param client Client instance to call back\r
56      */\r
57     public void doChangeNameData (final Contact contact, final Client client);\r
58 \r
59     /**\r
60      * Let the user change other address\r
61      */\r
62     public void changeOtherAddress ();\r
63 \r
64     /**\r
65      * The user can change other data, like phone numbers or comments.\r
66      * \r
67      * @param contact Instance to change data\r
68      * @param client Client instance to call back\r
69      */\r
70     public void doChangeOtherData (final Contact contact, final Client client);\r
71 \r
72     /**\r
73      * Let the user change own data\r
74      */\r
75     public void changeOwnData ();\r
76 \r
77     /**\r
78      * Let the user delete other address\r
79      */\r
80     public void deleteOtherAddress ();\r
81 \r
82     /**\r
83      * Asks user for own data\r
84      */\r
85     public void doEnterOwnData ();\r
86 \r
87     /**\r
88      * Getter for size\r
89      *\r
90      * @return size of contact "book"\r
91      */\r
92     public int size ();\r
93 }\r