]> git.mxchange.org Git - jaddressbook-share-lib.git/blob - Addressbook/src/org/mxchange/addressbook/contact/Contact.java
629e796c0948b5e882077ae075e614363248c8bb
[jaddressbook-share-lib.git] / Addressbook / src / org / mxchange / addressbook / 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.addressbook.contact;
18
19 import org.mxchange.jcore.FrameworkInterface;
20 import org.mxchange.jcore.client.Client;
21
22 /**
23  *
24  * @author Roland Haeder
25  */
26 public interface Contact extends FrameworkInterface {
27
28         /**
29          * Some "getter" for translated gender of the contact
30          *
31          * @return Translated / human-readable gender
32          */
33         public String getTranslatedGender ();
34
35         /**
36          * Checks whether the contact is user's own data
37          *
38          * @return Own data?
39          */
40         public boolean isOwnContact ();
41
42         /**
43          * Gender of the contact
44          *
45          * @return the gender
46          */
47         public Gender getGender ();
48
49         /**
50          * Surname
51          *
52          * @return the surname
53          */
54         public String getSurname ();
55
56         /**
57          * Family name
58          *
59          * @return the familyName
60          */
61         public String getFamilyName ();
62
63         /**
64          * Companyname
65          *
66          * @return the companyName
67          */
68         public String getCompanyName ();
69
70         /**
71          * Street
72          *
73          * @return the street
74          */
75         public String getStreet ();
76
77         /**
78          * House number
79          *
80          * @return the houseNumber
81          */
82         public int getHouseNumber ();
83
84         /**
85          * ZIP code
86          *
87          * @return the zipCode
88          */
89         public long getZipCode ();
90
91         /**
92          * City
93          *
94          * @return the city
95          */
96         public String getCity ();
97
98         /**
99          * Country code
100          *
101          * @return the countryCode
102          */
103         public String getCountryCode ();
104
105         /**
106          * Email address
107          *
108          * @return the emailAddress
109          */
110         public String getEmailAddress ();
111
112         /**
113          * Phone number
114          *
115          * @return the phoneNumber
116          */
117         public String getPhoneNumber ();
118
119         /**
120          * Fax number
121          *
122          * @return the faxNumber
123          */
124         public String getFaxNumber ();
125
126         /**
127          * Cellphone number
128          *
129          * @return the cellphoneNumber
130          */
131         public String getCellphoneNumber ();
132
133         /**
134          * Birth day
135          *
136          * @return the birthday
137          */
138         public String getBirthday ();
139
140         /**
141          * Comments
142          *
143          * @return the comment
144          */
145         public String getComment ();
146
147         /**
148          * Checks if given boolean value is available and set to same value
149          *
150          * @param columnName Column name to check
151          * @param bool Boolean value
152          * @return Whether all conditions are met
153          */
154         public boolean isValueEqual (final String columnName, final boolean bool);
155
156         /**
157          * Shows the contact to the user
158          *
159          * @param client Client instance to call back
160          */
161         public void show (final Client client);
162
163         /**
164          * Updates address data in this Contact instance
165          *
166          * @param street Street
167          * @param zipCode ZIP code
168          * @param city City
169          * @param countryCode Country code
170          */
171         public void updateAddressData (final String street, final long zipCode, final String city, final String countryCode);
172
173         /**
174          * Updates name data in this Contact instance
175          *
176          * @param gender Gender (M, F, C)
177          * @param surname Surname
178          * @param familyName Family name
179          * @param companyName Company name
180          */
181         public void updateNameData (final Gender gender, final String surname, final String familyName, final String companyName);
182
183         /**
184          * Updates other data in this Contact instance
185          *
186          * @param phoneNumber Phone number
187          * @param cellNumber Cellphone number
188          * @param faxNumber Fax number
189          * @param email Email address
190          * @param birthday Birthday
191          * @param comment Comments
192          */
193         public void updateOtherData (final String phoneNumber, final String cellNumber, final String faxNumber, final String email, final String birthday, final String comment);
194 }