]> git.mxchange.org Git - addressbook-swing.git/blob - Addressbook/src/org/mxchange/addressbook/manager/contact/ManageableContact.java
Introduced initStatusPanel() which initializes status panel + renamed methods accordi...
[addressbook-swing.git] / Addressbook / src / org / mxchange / addressbook / manager / contact / ManageableContact.java
1 /*
2  * Copyright (C) 2015 Roland Haeder
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 package org.mxchange.addressbook.manager.contact;
18
19 import java.util.List;
20 import org.mxchange.addressbook.client.Client;
21 import org.mxchange.addressbook.contact.Contact;
22 import org.mxchange.addressbook.manager.Manageable;
23
24 /**
25  *
26  * @author Roland Haeder
27  */
28 public interface ManageableContact extends Manageable {
29
30     /**
31      * Shuts down this contact manager
32      */
33     public void doShutdown ();
34
35     /**
36      * Allows the user to enter own cellphone number.
37      * 
38      * @return Cellphone number
39      */
40     public String enterOwnCellNumber ();
41
42     /**
43      * Allows the user to enter own city name.
44      * 
45      * @return City name
46      */
47     public String enterOwnCity ();
48
49     /**
50      * Allows the user to enter comment for own entry.
51      * 
52      * @return Comment
53      */
54     public String enterOwnComment ();
55
56     /**
57      * Allows the user to enter own company name.
58      * 
59      * @return Company name
60      */
61     public String enterOwnCompanyName ();
62
63     /**
64      * Allows the user to enter own country code.
65      * 
66      * @return Country code
67      */
68     public String enterOwnCountryCode ();
69
70     /**
71      * Allows the user to enter own email address.
72      * 
73      * @return Email address
74      */
75     public String enterOwnEmailAddress ();
76
77     /**
78      * Allows the user to enter own family name.
79      * 
80      * @return Family name
81      */
82     public String enterOwnFamilyName ();
83
84     /**
85      * Allows the user to enter own fax number.
86      * 
87      * @return Fax number
88      */
89     public String enterOwnFaxNumber ();
90
91     /**
92      * Allows the user to enter own gender.
93      * 
94      * @return Gender
95      */
96     public char enterOwnGender ();
97
98     /**
99      * Allows the user to enter own phone number.
100      * 
101      * @return Phone number
102      */
103     public String enterOwnPhoneNumber ();
104
105     /**
106      * Allows the user to enter own street and house number.
107      * 
108      * @return Street and house number
109      */
110     public String enterOwnStreet ();
111
112     /**
113      * Allows the user to enter own surname.
114      * 
115      * @return Surname
116      */
117     public String enterOwnSurname ();
118
119     /**
120      * Allows the user to enter own ZIP code.
121      * 
122      * @return ZIP code
123      */
124     public int enterOwnZipCode ();
125
126     /**
127      * Getter for column count
128      * 
129      * @return Column count
130      */
131     public int getColumnCount ();
132
133     /**
134      * List all contacts
135      */
136     public void doListContacts ();
137
138     /**
139      * Adds given contact to address book
140      *
141      * @param contact Contact being added
142      * @todo Add check for book size
143      */
144     public void registerContact (final Contact contact);
145
146     /**
147      * Adds given Contact instance to list
148      * 
149      * @param contact Contact instance to add
150      */
151     public void addContact (final Contact contact);
152
153     /**
154      * Let the user add a new other address
155      */
156     public void doAddOtherAddress();
157
158     /**
159      * The user can change address data, like street, ZIP code, city and country
160      * of given Contact instance.
161      * 
162      * @param contact Instance to change data
163      * @param client Client instance to call back
164      */
165     public void doChangeAddressData (final Contact contact, final Client client);
166
167     /**
168      * The user can change name data, like gender, surname, family name and
169      * company name (if business contact).
170      * 
171      * @param contact Instance to change data
172      * @param client Client instance to call back
173      */
174     public void doChangeNameData (final Contact contact, final Client client);
175
176     /**
177      * Let the user change other address
178      */
179     public void doChangeOtherAddress();
180
181     /**
182      * The user can change other data, like phone numbers or comments.
183      * 
184      * @param contact Instance to change data
185      * @param client Client instance to call back
186      */
187     public void doChangeOtherData (final Contact contact, final Client client);
188
189     /**
190      * Let the user change own data
191      */
192     public void doChangeOwnData();
193
194     /**
195      * Let the user delete other address
196      */
197     public void doDeleteOtherAddress();
198
199     /**
200      * Asks user for own data
201      */
202     public void doEnterOwnData();
203
204     /**
205      * Getter for whole list
206      * @return List of all contacts
207      */
208     public List<Contact> getList ();
209
210     /**
211      * Searches address book for a contact
212      */
213     public void doSearchContacts ();
214
215     /**
216      * Checks whether own contact is already added by checking all entries for
217      * isOwnContact flag
218      * 
219      * @return Whether own contact is already added
220      */
221     public boolean isOwnContactAdded ();
222
223     /**
224      * Getter for size
225      *
226      * @return size of contact "book"
227      */
228     public int size();
229 }