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.addressbook.FrameworkInterface;
20 import org.mxchange.addressbook.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 * Shows the contact to the user
150 * @param client Client instance to call back
152 public void show (final Client client);
155 * Updates address data in this Contact instance
157 * @param street Street
158 * @param zipCode ZIP code
160 * @param countryCode Country code
162 public void updateAddressData (final String street, final long zipCode, final String city, final String countryCode);
165 * Updates name data in this Contact instance
167 * @param gender Gender (M, F, C)
168 * @param surname Surname
169 * @param familyName Family name
170 * @param companyName Company name
172 public void updateNameData (final Gender gender, final String surname, final String familyName, final String companyName);
175 * Updates other data in this Contact instance
177 * @param phoneNumber Phone number
178 * @param cellNumber Cellphone number
179 * @param faxNumber Fax number
180 * @param email Email address
181 * @param birthday Birthday
182 * @param comment Comments
184 public void updateOtherData (final String phoneNumber, final String cellNumber, final String faxNumber, final String email, final String birthday, final String comment);