/*
- * Copyright (C) 2016 Roland Haeder
+ * Copyright (C) 2016 - 2024 Free Software Foundation
*
* 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
package org.mxchange.addressbook.facade.contact;
import java.io.IOException;
-import org.mxchange.jcontacts.contact.Contact;
-import org.mxchange.jcontacts.contact.gender.Gender;
import org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException;
+import org.mxchange.jcontacts.model.contact.Contact;
+import org.mxchange.jcontacts.model.contact.title.PersonalTitle;
+import org.mxchange.jcontactsbusiness.exceptions.basicdata.BasicDataAlreadyAddedException;
import org.mxchange.jcore.facade.Facade;
-import org.mxchange.jcountry.data.Country;
-import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
-import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
-import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jcountry.model.data.Country;
+import org.mxchange.jphone.model.phonenumbers.fax.DialableFaxNumber;
+import org.mxchange.jphone.model.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jphone.model.phonenumbers.mobile.DialableMobileNumber;
/**
* An interface for addressbook contact manager
* <p>
- * @author Roland Haeder<roland@mxchange.org>
+ * @author Roland Hรคder<roland@mxchange.org>
*/
public interface ContactFacade extends Facade {
* <p>
* @param contact Contact instance to add
* <p>
- * @throws org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException If
- * the contact is already added
+ * @throws BasicDataAlreadyAddedException If the contact is already added
*/
- void addContact (final Contact contact) throws ContactAlreadyAddedException;
+ void addContact (final Contact contact) throws BasicDataAlreadyAddedException;
/**
* Let the user add a new other address
void doChangeAddressData (final Contact contact);
/**
- * The user can change name data, like gender, surname, family name and
+ * The user can change name data, like title, surname, family name and
* company name (if business contact).
* <p>
* @param contact Instance to change data
/**
* Asks user for own data
* <p>
- * @throws org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException If
- * own contact is already added
+ * @throws ContactAlreadyAddedException If own contact is already added
*/
void doEnterOwnData () throws ContactAlreadyAddedException;
String enterOwnFirstName ();
/**
- * Allows the user to enter own gender.
+ * Allows the user to enter own title.
* <p>
- * @return Gender
+ * @return PersonalTitle
*/
- Gender enterOwnGender ();
+ PersonalTitle enterOwnPersonalTitle ();
/**
* Allows the user to enter own phone number.
* @param columnIndex Column index
* <p>
* @return Human-readable column name TODO: This is needed for TableModel in
- * Swing
+ * Swing
*/
String getTranslatedColumnName (final int columnIndex);
/**
* Somewhat "getter" for value from given row and column index
* <p>
- * @param rowIndex Row index
+ * @param rowIndex Row index
* @param columnIndex Column index
* <p>
* @return Value from given row/column
* @param contact Contact being added TODO Add check for book size
*/
void registerContact (final Contact contact);
+
}