]> git.mxchange.org Git - addressbook-swing.git/blob - src/org/mxchange/addressbook/manager/contact/ManageableContact.java
Fixed call + introduced getColumnCount()
[addressbook-swing.git] / 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 java.util.List;\r
20 import org.mxchange.addressbook.client.Client;\r
21 import org.mxchange.addressbook.contact.Contact;\r
22 import org.mxchange.addressbook.manager.Manageable;\r
23 \r
24 /**\r
25  *\r
26  * @author Roland Haeder\r
27  */\r
28 public interface ManageableContact extends Manageable {\r
29 \r
30     /**\r
31      * Shuts down this contact manager\r
32      */\r
33     public void doShutdown ();\r
34 \r
35     /**\r
36      * Allows the user to enter own cellphone number.\r
37      * \r
38      * @return Cellphone number\r
39      */\r
40     public String enterOwnCellNumber ();\r
41 \r
42     /**\r
43      * Allows the user to enter own city name.\r
44      * \r
45      * @return City name\r
46      */\r
47     public String enterOwnCity ();\r
48 \r
49     /**\r
50      * Allows the user to enter comment for own entry.\r
51      * \r
52      * @return Comment\r
53      */\r
54     public String enterOwnComment ();\r
55 \r
56     /**\r
57      * Allows the user to enter own company name.\r
58      * \r
59      * @return Company name\r
60      */\r
61     public String enterOwnCompanyName ();\r
62 \r
63     /**\r
64      * Allows the user to enter own country code.\r
65      * \r
66      * @return Country code\r
67      */\r
68     public String enterOwnCountryCode ();\r
69 \r
70     /**\r
71      * Allows the user to enter own email address.\r
72      * \r
73      * @return Email address\r
74      */\r
75     public String enterOwnEmailAddress ();\r
76 \r
77     /**\r
78      * Allows the user to enter own family name.\r
79      * \r
80      * @return Family name\r
81      */\r
82     public String enterOwnFamilyName ();\r
83 \r
84     /**\r
85      * Allows the user to enter own fax number.\r
86      * \r
87      * @return Fax number\r
88      */\r
89     public String enterOwnFaxNumber ();\r
90 \r
91     /**\r
92      * Allows the user to enter own gender.\r
93      * \r
94      * @return Gender\r
95      */\r
96     public char enterOwnGender ();\r
97 \r
98     /**\r
99      * Allows the user to enter own phone number.\r
100      * \r
101      * @return Phone number\r
102      */\r
103     public String enterOwnPhoneNumber ();\r
104 \r
105     /**\r
106      * Allows the user to enter own street and house number.\r
107      * \r
108      * @return Street and house number\r
109      */\r
110     public String enterOwnStreet ();\r
111 \r
112     /**\r
113      * Allows the user to enter own surname.\r
114      * \r
115      * @return Surname\r
116      */\r
117     public String enterOwnSurname ();\r
118 \r
119     /**\r
120      * Allows the user to enter own ZIP code.\r
121      * \r
122      * @return ZIP code\r
123      */\r
124     public int enterOwnZipCode ();\r
125 \r
126     /**\r
127      * Getter for column count\r
128      * \r
129      * @return Column count\r
130      */\r
131     public int getColumnCount ();\r
132 \r
133     /**\r
134      * List all contacts\r
135      */\r
136     public void listContacts ();\r
137 \r
138     /**\r
139      * Adds given contact to address book\r
140      *\r
141      * @param contact Contact being added\r
142      * @todo Add check for book size\r
143      */\r
144     public void registerContact (final Contact contact);\r
145 \r
146     /**\r
147      * Adds given Contact instance to list\r
148      * \r
149      * @param contact Contact instance to add\r
150      */\r
151     public void addContact (final Contact contact);\r
152 \r
153     /**\r
154      * Let the user add a new other address\r
155      */\r
156     public void addOtherAddress();\r
157 \r
158     /**\r
159      * The user can change address data, like street, ZIP code, city and country\r
160      * of given Contact instance.\r
161      * \r
162      * @param contact Instance to change data\r
163      * @param client Client instance to call back\r
164      */\r
165     public void doChangeAddressData (final Contact contact, final Client client);\r
166 \r
167     /**\r
168      * The user can change name data, like gender, surname, family name and\r
169      * company name (if business contact).\r
170      * \r
171      * @param contact Instance to change data\r
172      * @param client Client instance to call back\r
173      */\r
174     public void doChangeNameData (final Contact contact, final Client client);\r
175 \r
176     /**\r
177      * Let the user change other address\r
178      */\r
179     public void changeOtherAddress();\r
180 \r
181     /**\r
182      * The user can change other data, like phone numbers or comments.\r
183      * \r
184      * @param contact Instance to change data\r
185      * @param client Client instance to call back\r
186      */\r
187     public void doChangeOtherData (final Contact contact, final Client client);\r
188 \r
189     /**\r
190      * Let the user change own data\r
191      */\r
192     public void changeOwnData();\r
193 \r
194     /**\r
195      * Let the user delete other address\r
196      */\r
197     public void deleteOtherAddress();\r
198 \r
199     /**\r
200      * Asks user for own data\r
201      */\r
202     public void doEnterOwnData();\r
203 \r
204     /**\r
205      * Getter for whole list\r
206      * @return List of all contacts\r
207      */\r
208     public List<Contact> getList ();\r
209 \r
210     /**\r
211      * Searches address book for a contact\r
212      */\r
213     public void searchContacts ();\r
214 \r
215     /**\r
216      * Checks whether own contact is already added by checking all entries for\r
217      * isOwnContact flag\r
218      * \r
219      * @return Whether own contact is already added\r
220      */\r
221     public boolean isOwnContactAdded ();\r
222 \r
223     /**\r
224      * Getter for size\r
225      *\r
226      * @return size of contact "book"\r
227      */\r
228     public int size();\r
229 }\r