2 * Copyright (C) 2015 Roland Haeder
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.
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.
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/>.
17 package org.mxchange.addressbook.contact;
19 import org.mxchange.jcore.FrameworkInterface;
20 import org.mxchange.jcore.client.Client;
24 * @author Roland Haeder
26 public interface Contact extends FrameworkInterface {
29 * Some "getter" for translated gender of the contact
31 * @return Translated / human-readable gender
33 public String getTranslatedGender ();
36 * Checks whether the contact is user's own data
40 public boolean isOwnContact ();
43 * Gender of the contact
47 public Gender getGender ();
54 public String getSurname ();
59 * @return the familyName
61 public String getFamilyName ();
66 * @return the companyName
68 public String getCompanyName ();
75 public String getStreet ();
80 * @return the houseNumber
82 public int getHouseNumber ();
89 public long getZipCode ();
96 public String getCity ();
101 * @return the countryCode
103 public String getCountryCode ();
108 * @return the emailAddress
110 public String getEmailAddress ();
115 * @return the phoneNumber
117 public String getPhoneNumber ();
122 * @return the faxNumber
124 public String getFaxNumber ();
129 * @return the cellphoneNumber
131 public String getCellphoneNumber ();
136 * @return the birthday
138 public String getBirthday ();
143 * @return the comment
145 public String getComment ();
148 * Checks if given boolean value is available and set to same value
150 * @param columnName Column name to check
151 * @param bool Boolean value
152 * @return Whether all conditions are met
154 public boolean isValueEqual (final String columnName, final boolean bool);
157 * Shows the contact to the user
159 * @param client Client instance to call back
161 public void show (final Client client);
164 * Updates address data in this Contact instance
166 * @param street Street
167 * @param zipCode ZIP code
169 * @param countryCode Country code
171 public void updateAddressData (final String street, final long zipCode, final String city, final String countryCode);
174 * Updates name data in this Contact instance
176 * @param gender Gender (M, F, C)
177 * @param surname Surname
178 * @param familyName Family name
179 * @param companyName Company name
181 public void updateNameData (final Gender gender, final String surname, final String familyName, final String companyName);
184 * Updates other data in this Contact instance
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
193 public void updateOtherData (final String phoneNumber, final String cellNumber, final String faxNumber, final String email, final String birthday, final String comment);