X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=Addressbook%2Fsrc%2Forg%2Fmxchange%2Faddressbook%2Fmanager%2Fcontact%2FManageableContact.java;h=277ae35f99ef8efb023e72a7cb0502f2fcc97a26;hb=f0feb6bcb99fbe6c4c20dc8af57365973fc31301;hp=ac0db41e70bb1ea0f11aba9ba90d70b59bb13062;hpb=d43d6638fbacdd05fc605609a24de099c0864cae;p=jbonuscard-lib.git diff --git a/Addressbook/src/org/mxchange/addressbook/manager/contact/ManageableContact.java b/Addressbook/src/org/mxchange/addressbook/manager/contact/ManageableContact.java index ac0db41..277ae35 100644 --- a/Addressbook/src/org/mxchange/addressbook/manager/contact/ManageableContact.java +++ b/Addressbook/src/org/mxchange/addressbook/manager/contact/ManageableContact.java @@ -1,89 +1,241 @@ -/* - * 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 . - */ -package org.mxchange.addressbook.manager.contact; - -import org.mxchange.addressbook.contact.Contact; -import org.mxchange.addressbook.manager.Manageable; - -/** - * - * @author Roland Haeder - */ -public interface ManageableContact extends Manageable { - /** - * Adds given contact to address book - * - * @param contact Contact being added - * @todo Add check for book size - */ - public void addContact (final Contact contact); - - /** - * Let the user add a new other address - */ - public void addOtherAddress (); - - /** - * The user can change address data, like street, ZIP code, city and country - * of given Contact instance. - * - * @param contact Instance to change data - */ - public void changeAddressData (final Contact contact); - - /** - * The user can change name data, like gender, surname, family name and - * company name (if business contact). - * - * @param contact Instance to change data - */ - public void changeNameData (final Contact contact); - - /** - * Let the user change other address - */ - public void changeOtherAddress (); - - /** - * The user can change other data, like phone numbers or comments. - * - * @param contact Instance to change data - */ - public void changeOtherData (final Contact contact); - - /** - * Let the user change own data - */ - public void changeOwnData (); - - /** - * Let the user delete other address - */ - public void deleteOtherAddress (); - - /** - * Asks user for own data - */ - public void enterOwnData (); - - /** - * Getter for size - * - * @return size of contact "book" - */ - public int size (); -} +/* + * 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 . + */ +package org.mxchange.addressbook.manager.contact; + +import org.mxchange.jcore.contact.Contact; +import org.mxchange.jcore.contact.Gender; +import org.mxchange.addressbook.exceptions.ContactAlreadyAddedException; +import org.mxchange.jcore.manager.Manageable; + +/** + * + * @author Roland Haeder + */ +public interface ManageableContact extends Manageable { + /** + * Allows the user to enter own cellphone number. + * + * @return Cellphone number + */ + public String enterOwnCellNumber (); + + /** + * Allows the user to enter own city name. + * + * @return City name + */ + public String enterOwnCity (); + + /** + * Allows the user to enter comment for own entry. + * + * @return Comment + */ + public String enterOwnComment (); + + /** + * Allows the user to enter own company name. + * + * @return Company name + */ + public String enterOwnCompanyName (); + + /** + * Allows the user to enter own country code. + * + * @return Country code + */ + public String enterOwnCountryCode (); + + /** + * Allows the user to enter own email address. + * + * @return Email address + */ + public String enterOwnEmailAddress (); + + /** + * Allows the user to enter own family name. + * + * @return Family name + */ + public String enterOwnFamilyName (); + + /** + * Allows the user to enter own fax number. + * + * @return Fax number + */ + public String enterOwnFaxNumber (); + + /** + * Allows the user to enter own gender. + * + * @return Gender + */ + public Gender enterOwnGender (); + + /** + * Allows the user to enter own phone number. + * + * @return Phone number + */ + public String enterOwnPhoneNumber (); + + /** + * Allows the user to enter own street and house number. + * + * @return Street and house number + */ + public String enterOwnStreet (); + + /** + * Allows the user to enter own surname. + * + * @return Surname + */ + public String enterOwnSurname (); + + /** + * Allows the user to enter own ZIP code. + * + * @return ZIP code + */ + public int enterOwnZipCode (); + + /** + * Getter for column count + * + * @return Column count + */ + public int getColumnCount (); + + /** + * List all contacts + */ + public void doListContacts (); + + /** + * Getter for column name at given index. + * + * @param columnIndex Column index + * @return Database column name + */ + public String getColumnName (final int columnIndex); + + /** + * Getter for translated column name at given index. + * + * @param columnIndex Column index + * @return Human-readable column name + */ + public String getTranslatedColumnName (int columnIndex); + + /** + * Somewhat "getter" for value from given row and column index + * + * @param rowIndex Row index + * @param columnIndex Column index + * @return Value from given row/column + */ + public Object getValueFromRowColumn (final int rowIndex, final int columnIndex); + + /** + * Adds given contact to address book + * + * @param contact Contact being added + * @todo Add check for book size + */ + public void registerContact (final Contact contact); + + /** + * Adds given Contact instance to list + * + * @param contact Contact instance to add + * @throws org.mxchange.addressbook.exceptions.ContactAlreadyAddedException If the contact is already added + */ + public void addContact (final Contact contact) throws ContactAlreadyAddedException; + + /** + * Let the user add a new other address + */ + public void doAddOtherAddress (); + + /** + * The user can change address data, like street, ZIP code, city and country + * of given Contact instance. + * + * @param contact Instance to change data + */ + public void doChangeAddressData (final Contact contact); + + /** + * The user can change name data, like gender, surname, family name and + * company name (if business contact). + * + * @param contact Instance to change data + */ + public void doChangeNameData (final Contact contact); + + /** + * Let the user change other address + */ + public void doChangeOtherAddress (); + + /** + * The user can change other data, like phone numbers or comments. + * + * @param contact Instance to change data + */ + public void doChangeOtherData (final Contact contact); + + /** + * Let the user change own data + */ + public void doChangeOwnData (); + + /** + * Let the user delete other address + */ + public void doDeleteOtherAddress (); + + /** + * Asks user for own data + * @throws org.mxchange.addressbook.exceptions.ContactAlreadyAddedException If own contact is already added + */ + public void doEnterOwnData () throws ContactAlreadyAddedException; + + /** + * Searches address book for a contact + */ + public void doSearchContacts (); + + /** + * Checks whether own contact is already added by checking all entries for + * isOwnContact flag + * + * @return Whether own contact is already added + */ + public boolean isOwnContactAdded (); + + /** + * Getter for size + * + * @return size of contact "book" + */ + public int size (); +}