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