-/*\r
- * Copyright (C) 2015 Roland Haeder\r
- *\r
- * This program is free software: you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation, either version 3 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program. If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package org.mxchange.addressbook.contact;\r
-\r
-import org.mxchange.addressbook.FrameworkInterface;\r
-\r
-/**\r
- *\r
- * @author Roland Haeder\r
- */\r
-public interface Contact extends FrameworkInterface {\r
-\r
- /**\r
- * Enables the flag "own data" which signals that this contact is the user's\r
- * own data.\r
- */\r
- public void enableFlagOwnContact ();\r
-\r
- /**\r
- * Checks whether the contact is user's own data\r
- *\r
- * @return Own data?\r
- */\r
- public boolean isOwnContact ();\r
-\r
- /**\r
- * Gender of the contact\r
- *\r
- * @return the gender\r
- */\r
- public char getGender ();\r
-\r
- /**\r
- * Surname\r
- *\r
- * @return the surname\r
- */\r
- public String getSurname ();\r
-\r
- /**\r
- * Family name\r
- *\r
- * @return the familyName\r
- */\r
- public String getFamilyName ();\r
-\r
- /**\r
- * Companyname\r
- *\r
- * @return the companyName\r
- */\r
- public String getCompanyName ();\r
-\r
- /**\r
- * Street\r
- *\r
- * @return the street\r
- */\r
- public String getStreet ();\r
-\r
- /**\r
- * House number\r
- *\r
- * @return the houseNumber\r
- */\r
- public int getHouseNumber ();\r
-\r
- /**\r
- * ZIP code\r
- *\r
- * @return the zipCode\r
- */\r
- public int getZipCode ();\r
-\r
- /**\r
- * City\r
- *\r
- * @return the city\r
- */\r
- public String getCity ();\r
-\r
- /**\r
- * Country code\r
- *\r
- * @return the countryCode\r
- */\r
- public String getCountryCode ();\r
-\r
- /**\r
- * Email address\r
- *\r
- * @return the emailAddress\r
- */\r
- public String getEmailAddress ();\r
-\r
- /**\r
- * Phone number\r
- *\r
- * @return the phoneNumber\r
- */\r
- public String getPhoneNumber ();\r
-\r
- /**\r
- * Fax number\r
- *\r
- * @return the faxNumber\r
- */\r
- public String getFaxNumber ();\r
-\r
- /**\r
- * Cellphone number\r
- *\r
- * @return the cellphoneNumber\r
- */\r
- public String getCellphoneNumber ();\r
-\r
- /**\r
- * Birth day\r
- *\r
- * @return the birthday\r
- */\r
- public String getBirthday ();\r
-\r
- /**\r
- * Comments\r
- *\r
- * @return the comment\r
- */\r
- public String getComment ();\r
-}\r
+/*
+ * Copyright (C) 2015 Roland Haeder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.addressbook.contact;
+
+import org.mxchange.addressbook.FrameworkInterface;
+import org.mxchange.addressbook.client.Client;
+
+/**
+ *
+ * @author Roland Haeder
+ */
+public interface Contact extends FrameworkInterface {
+
+ /**
+ * Some "getter" for translated gender of the contact
+ *
+ * @return Translated / human-readable gender
+ */
+ public String getTranslatedGender ();
+
+ /**
+ * Checks whether the contact is user's own data
+ *
+ * @return Own data?
+ */
+ public boolean isOwnContact ();
+
+ /**
+ * Gender of the contact
+ *
+ * @return the gender
+ */
+ public char getGender ();
+
+ /**
+ * Surname
+ *
+ * @return the surname
+ */
+ public String getSurname ();
+
+ /**
+ * Family name
+ *
+ * @return the familyName
+ */
+ public String getFamilyName ();
+
+ /**
+ * Companyname
+ *
+ * @return the companyName
+ */
+ public String getCompanyName ();
+
+ /**
+ * Street
+ *
+ * @return the street
+ */
+ public String getStreet ();
+
+ /**
+ * House number
+ *
+ * @return the houseNumber
+ */
+ public int getHouseNumber ();
+
+ /**
+ * ZIP code
+ *
+ * @return the zipCode
+ */
+ public long getZipCode ();
+
+ /**
+ * City
+ *
+ * @return the city
+ */
+ public String getCity ();
+
+ /**
+ * Country code
+ *
+ * @return the countryCode
+ */
+ public String getCountryCode ();
+
+ /**
+ * Email address
+ *
+ * @return the emailAddress
+ */
+ public String getEmailAddress ();
+
+ /**
+ * Phone number
+ *
+ * @return the phoneNumber
+ */
+ public String getPhoneNumber ();
+
+ /**
+ * Fax number
+ *
+ * @return the faxNumber
+ */
+ public String getFaxNumber ();
+
+ /**
+ * Cellphone number
+ *
+ * @return the cellphoneNumber
+ */
+ public String getCellphoneNumber ();
+
+ /**
+ * Birth day
+ *
+ * @return the birthday
+ */
+ public String getBirthday ();
+
+ /**
+ * Comments
+ *
+ * @return the comment
+ */
+ public String getComment ();
+
+ /**
+ * Shows the contact to the user
+ *
+ * @param client Client instance to call back
+ */
+ public void show (final Client client);
+
+ /**
+ * Updates address data in this Contact instance
+ *
+ * @param street Street
+ * @param zipCode ZIP code
+ * @param city City
+ * @param countryCode Country code
+ */
+ public void updateAddressData (final String street, final long zipCode, final String city, final String countryCode);
+
+ /**
+ * Updates name data in this Contact instance
+ *
+ * @param gender Gender (M, F, C)
+ * @param surname Surname
+ * @param familyName Family name
+ * @param companyName Company name
+ */
+ public void updateNameData (final char gender, final String surname, final String familyName, final String companyName);
+
+ /**
+ * Updates other data in this Contact instance
+ *
+ * @param phoneNumber Phone number
+ * @param cellNumber Cellphone number
+ * @param faxNumber Fax number
+ * @param email Email address
+ * @param birthday Birthday
+ * @param comment Comments
+ */
+ public void updateOtherData (final String phoneNumber, final String cellNumber, final String faxNumber, final String email, final String birthday, final String comment);
+}