]> git.mxchange.org Git - jcore.git/blob - src/org/mxchange/jcore/contact/Contact.java
Let's get rid of abortProgramWithException() where calls from application containers...
[jcore.git] / src / org / mxchange / jcore / contact / Contact.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.jcore.contact;
18
19 import java.lang.reflect.Field;
20 import java.util.Iterator;
21 import java.util.Map;
22 import org.mxchange.jcore.FrameworkInterface;
23 import org.mxchange.jcore.client.Client;
24
25 /**
26  * A general contact interface
27  *
28  * @author Roland Haeder
29  */
30 public interface Contact extends FrameworkInterface {
31         /**
32          * Returns an iterator of all values from this object
33          *
34          * @return An iterator
35          * @throws java.lang.NoSuchMethodException If the invoked method was not found
36          */
37         public Iterator<Map.Entry<Field, Object>> iterator ()throws NoSuchMethodException;
38
39         /**
40          * Some "getter" for translated gender of the contact
41          *
42          * @return Translated / human-readable gender
43          */
44         public String getTranslatedGender ();
45
46         /**
47          * Gender of the contact
48          *
49          * @return the gender
50          */
51         public Gender getGender ();
52
53         /**
54          * Gender of the contact
55          *
56          * @param gender the gender to set
57          */
58         public void setGender (final Gender gender);
59
60         /**
61          * Surname
62          *
63          * @return the surname
64          */
65         public String getSurname ();
66
67         /**
68          * Surname
69          *
70          * @param surname the surname to set
71          */
72         public void setSurname (final String surname);
73
74         /**
75          * Family name
76          *
77          * @return the familyName
78          */
79         public String getFamilyName ();
80
81         /**
82          * Family name
83          *
84          * @param familyName the familyName to set
85          */
86         public void setFamilyName (final String familyName);
87
88         /**
89          * Companyname
90          *
91          * @return the companyName
92          */
93         public String getCompanyName ();
94
95         /**
96          * Companyname
97          *
98          * @param companyName the companyName to set
99          */
100         public void setCompanyName (final String companyName);
101
102         /**
103          * Street
104          *
105          * @return the street
106          */
107         public String getStreet ();
108
109         /**
110          * Street
111          *
112          * @param street the street to set
113          */
114         public void setStreet (final String street);
115
116         /**
117          * House number
118          *
119          * @return the houseNumber
120          */
121         public Long getHouseNumber ();
122
123         /**
124          * House number
125          *
126          * @param houseNumber the houseNumber to set
127          */
128         public void setHouseNumber (final Long houseNumber);
129
130         /**
131          * ZIP code
132          *
133          * @return the zipCode
134          */
135         public Long getZipCode ();
136
137         /**
138          * ZIP code
139          *
140          * @param zipCode the zipCode to set
141          */
142         public void setZipCode (final Long zipCode);
143
144         /**
145          * City
146          *
147          * @return the city
148          */
149         public String getCity ();
150
151         /**
152          * City
153          *
154          * @param city the city to set
155          */
156         public void setCity (final String city);
157
158         /**
159          * Country code
160          *
161          * @return the countryCode
162          */
163         public String getCountryCode ();
164
165         /**
166          * Country code
167          *
168          * @param countryCode the countryCode to set
169          */
170         public void setCountryCode (final String countryCode);
171
172         /**
173          * Email address
174          *
175          * @return the emailAddress
176          */
177         public String getEmailAddress ();
178
179         /**
180          * Email address
181          *
182          * @param emailAddress the emailAddress to set
183          */
184         public void setEmailAddress (final String emailAddress);
185
186         /**
187          * Phone number
188          *
189          * @return the phoneNumber
190          */
191         public String getPhoneNumber ();
192
193         /**
194          * Phone number
195          *
196          * @param phoneNumber the phoneNumber to set
197          */
198         public void setPhoneNumber (final String phoneNumber);
199
200         /**
201          * Fax number
202          *
203          * @return the faxNumber
204          */
205         public String getFaxNumber ();
206
207         /**
208          * Fax number
209          *
210          * @param faxNumber the faxNumber to set
211          */
212         public void setFaxNumber (final String faxNumber);
213
214         /**
215          * Cellphone number
216          *
217          * @return the cellphoneNumber
218          */
219         public String getCellphoneNumber ();
220
221         /**
222          * Cellphone number
223          *
224          * @param cellphoneNumber the cellphoneNumber to set
225          */
226         public void setCellphoneNumber (final String cellphoneNumber);
227
228         /**
229          * Birth day
230          *
231          * @return the birthday
232          */
233         public String getBirthday ();
234
235         /**
236          * Birth day
237          *
238          * @param birthday the birthday to set
239          */
240         public void setBirthday (final String birthday);
241
242         /**
243          * Comments
244          *
245          * @return the comment
246          */
247         public String getComment ();
248
249         /**
250          * Comments
251          *
252          * @param comment the comment to set
253          */
254         public void setComment (final String comment);
255
256         /**
257          * Checks whether the contact is user's own data
258          *
259          * @return Own data?
260          */
261         public boolean isOwnContact ();
262
263         /**
264          * Shows the contact to the user
265          *
266          * @param client Client instance to call back
267          */
268         public void show (final Client client);
269 }