import java.io.Serializable;
import javax.ejb.Remote;
import org.mxchange.jcontacts.contact.Contact;
-import org.mxchange.jphone.exceptions.FaxNumberNotLinkedException;
-import org.mxchange.jphone.exceptions.LandLineNumberNotLinkedException;
-import org.mxchange.jphone.exceptions.MobileNumberNotLinkedException;
+import org.mxchange.jphone.exceptions.PhoneNumberAlreadyLinkedException;
+import org.mxchange.jphone.exceptions.PhoneNumberNotLinkedException;
import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
* @param faxNumber Fax number to link
* <p>
* @return Updated contact
+ * <p>
+ * @throws PhoneNumberAlreadyLinkedException If a fax number is already
+ * linked in contact
*/
- Contact linkExistingFaxNumberWithContact (final Contact contact, final DialableFaxNumber faxNumber);
+ Contact linkExistingFaxNumberWithContact (final Contact contact, final DialableFaxNumber faxNumber) throws PhoneNumberAlreadyLinkedException;
/**
* Links existing land-line number with given contact instance. The id
* @param landLineNumber Land-line number to link
* <p>
* @return Updated contact
+ * <p>
+ * @throws PhoneNumberAlreadyLinkedException If a land-line number is
+ * already linked in contact
*/
- Contact linkExistingLandLineNumberWithContact (final Contact contact, final DialableLandLineNumber landLineNumber);
+ Contact linkExistingLandLineNumberWithContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws PhoneNumberAlreadyLinkedException;
/**
* Links existing mobile number with given contact instance. The id number
* @param mobileNumber Mobile number to link
* <p>
* @return Updated contact
+ * <p>
+ * @throws PhoneNumberAlreadyLinkedException If a mobile number is already
+ * linked in contact
*/
- Contact linkExistingMobileNumberWithContact (final Contact contact, final DialableMobileNumber mobileNumber);
+ Contact linkExistingMobileNumberWithContact (final Contact contact, final DialableMobileNumber mobileNumber) throws PhoneNumberAlreadyLinkedException;
/**
* Links new fax number with given contact instance. The id number should
* @param faxNumber Fax number to link
* <p>
* @return Updated contact
+ * <p>
+ * @throws PhoneNumberAlreadyLinkedException If a fax number is already
+ * linked in contact
*/
- Contact linkNewFaxNumberWithContact (final Contact contact, final DialableFaxNumber faxNumber);
+ Contact linkNewFaxNumberWithContact (final Contact contact, final DialableFaxNumber faxNumber) throws PhoneNumberAlreadyLinkedException;
/**
* Links new land-line number with given contact instance. The id number
* @param landLineNumber Land-line number to link
* <p>
* @return Updated contact
+ * <p>
+ * @throws PhoneNumberAlreadyLinkedException If a land-line number is
+ * already linked in contact
*/
- Contact linkNewLandLineNumberWithContact (final Contact contact, final DialableLandLineNumber landLineNumber);
+ Contact linkNewLandLineNumberWithContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws PhoneNumberAlreadyLinkedException;
/**
* Links new mobile number with given contact instance. The id number should
* @param mobileNumber Mobile number to link
* <p>
* @return Updated contact
+ * <p>
+ * @throws PhoneNumberAlreadyLinkedException If a mobile number is already
+ * linked in contact
*/
- Contact linkNewMobileNumberWithContact (final Contact contact, final DialableMobileNumber mobileNumber);
+ Contact linkNewMobileNumberWithContact (final Contact contact, final DialableMobileNumber mobileNumber) throws PhoneNumberAlreadyLinkedException;
/**
* Unlinks fax data from given contact and returns the updated (detached?)
* <p>
* @return Updated contact instance
* <p>
- * @throws FaxNumberNotLinkedException If a mobile instance is not linked
+ * @throws PhoneNumberNotLinkedException If a mobile instance is not linked
* (null) with this contact
*/
- Contact unlinkFaxDataFromContact (final Contact contact, final DialableFaxNumber faxNumber) throws FaxNumberNotLinkedException;
+ Contact unlinkFaxDataFromContact (final Contact contact, final DialableFaxNumber faxNumber) throws PhoneNumberNotLinkedException;
/**
* Unlinks land-line data from given contact and returns the updated
* <p>
* @return Updated contact instance
* <p>
- * @throws LandLineNumberNotLinkedException If a mobile instance is not
- * linked (null) with this contact
+ * @throws PhoneNumberNotLinkedException If a mobile instance is not linked
+ * (null) with this contact
*/
- Contact unlinkLandLineDataFromContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws LandLineNumberNotLinkedException;
+ Contact unlinkLandLineDataFromContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws PhoneNumberNotLinkedException;
/**
* Unlinks mobile data from given contact and returns the updated
* <p>
* @return Updated contact instance
* <p>
- * @throws MobileNumberNotLinkedException If a mobile instance is not linked
+ * @throws PhoneNumberNotLinkedException If a mobile instance is not linked
* (null) with this contact
*/
- Contact unlinkMobileDataFromContact (final Contact contact, final DialableMobileNumber mobileNumber) throws MobileNumberNotLinkedException;
+ Contact unlinkMobileDataFromContact (final Contact contact, final DialableMobileNumber mobileNumber) throws PhoneNumberNotLinkedException;
}