From: Roland Haeder Date: Fri, 9 Oct 2015 07:57:00 +0000 (+0200) Subject: This lib should only contain remote EJB interfaces for the addressbook application... X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=3708c5248bf51d1a84043b4094b9b34cb79af004;p=jaddressbook-lib.git This lib should only contain remote EJB interfaces for the addressbook application and no other classes. A better place for them is maybe addressbook-swing Signed-off-by:Roland Häder --- diff --git a/lib/javaee-api-7.0/javaee-api-7.0.jar b/lib/javaee-api-7.0/javaee-api-7.0.jar new file mode 100644 index 00000000..9e38d4c3 Binary files /dev/null and b/lib/javaee-api-7.0/javaee-api-7.0.jar differ diff --git a/lib/javaee-api-7.0/javaee-doc-api.jar b/lib/javaee-api-7.0/javaee-doc-api.jar new file mode 100644 index 00000000..2859e3d6 Binary files /dev/null and b/lib/javaee-api-7.0/javaee-doc-api.jar differ diff --git a/lib/jpa20-persistence/javax.persistence-2.1.0-doc.zip b/lib/jpa20-persistence/javax.persistence-2.1.0-doc.zip deleted file mode 100644 index fd55e6e2..00000000 Binary files a/lib/jpa20-persistence/javax.persistence-2.1.0-doc.zip and /dev/null differ diff --git a/lib/jpa20-persistence/javax.persistence_2.1.0.v201304241213.jar b/lib/jpa20-persistence/javax.persistence_2.1.0.v201304241213.jar deleted file mode 100644 index 841d2e19..00000000 Binary files a/lib/jpa20-persistence/javax.persistence_2.1.0.v201304241213.jar and /dev/null differ diff --git a/lib/nblibraries.properties b/lib/nblibraries.properties index 7ee54123..2e2f7c62 100644 --- a/lib/nblibraries.properties +++ b/lib/nblibraries.properties @@ -2,6 +2,12 @@ libs.CopyLibs.classpath=\ ${base}/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar libs.CopyLibs.displayName=CopyLibs Task libs.CopyLibs.prop-version=2.0 +libs.javaee-api-7.0.classpath=\ + ${base}/javaee-api-7.0/javaee-api-7.0.jar +libs.javaee-api-7.0.displayName=Java EE 7 API Library +libs.javaee-api-7.0.javadoc=\ + ${base}/javaee-api-7.0/javaee-doc-api.jar +libs.javaee-api-7.0.prop-maven-dependencies=javax:javaee-api:7.0:jar libs.jpa20-persistence.classpath=\ ${base}/jpa20-persistence/javax.persistence_2.1.0.v201304241213.jar libs.jpa20-persistence.displayName=Persistence (JPA 2.1) diff --git a/nbproject/project.properties b/nbproject/project.properties index f292095f..cd344ffc 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -45,7 +45,7 @@ javac.classpath=\ ${file.reference.jcore-logger-lib.jar}:\ ${file.reference.jcontacts-core.jar}:\ ${file.reference.jcontacts-business-core.jar}:\ - ${libs.jpa20-persistence.classpath} + ${libs.javaee-api-7.0.classpath} # Space-separated list of extra javac options javac.compilerargs=-Xlint:deprecation -Xlint:unchecked javac.deprecation=true diff --git a/src/org/mxchange/addressbook/BaseAddressbookSystem.java b/src/org/mxchange/addressbook/BaseAddressbookSystem.java deleted file mode 100644 index 772922b3..00000000 --- a/src/org/mxchange/addressbook/BaseAddressbookSystem.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * 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; - -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; -import org.mxchange.jcore.BaseFrameworkSystem; -import org.mxchange.jcoreeelogger.beans.local.logger.Log; -import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal; - -/** - * A general addressbook class - *

- * @author Roland Haeder - */ -public abstract class BaseAddressbookSystem extends BaseFrameworkSystem { - - /** - * Logger instance - */ - @Log - private LoggerBeanLocal logger; - - /** - * Protected constructor - */ - protected BaseAddressbookSystem () { - try { - // Get initial context - Context context = new InitialContext(); - - // Lookup logger - this.logger = (LoggerBeanLocal) context.lookup("java:global/jcore-logger-ejb/logger!org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw - throw new RuntimeException(ex); - } - } - - /** - * Log exception and abort program. - *

- * @param throwable Throwable - */ - protected void abortProgramWithException (final Throwable throwable) { - // Log exception - this.logException(throwable); - - // Abort here - System.exit(1); - } - - /** - * Getter for logger instance - *

- * @return Logger instance - */ - protected LoggerBeanLocal getLogger () { - return this.logger; - } - - /** - * Logs given exception - *

- * @param exception Throwable - */ - protected void logException (final Throwable exception) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } -} diff --git a/src/org/mxchange/addressbook/client/AddressbookClient.java b/src/org/mxchange/addressbook/client/AddressbookClient.java deleted file mode 100644 index ff8442bb..00000000 --- a/src/org/mxchange/addressbook/client/AddressbookClient.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * 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.client; - -import org.mxchange.addressbook.menu.item.SelectableMenuItem; -import org.mxchange.jcontacts.contact.Contact; -import org.mxchange.jcontacts.contact.gender.Gender; -import org.mxchange.jcore.client.Client; -import org.mxchange.jcore.exceptions.MenuInitializationException; -import org.mxchange.jcore.exceptions.UnhandledUserChoiceException; - -/** - * A special client interface for addressbook applications. - *

- * @author Roland Haeder - */ -public interface AddressbookClient extends Client { - - /** - * Displays a "box" for the address - *

- * @param contact Contact to show address from - */ - public void displayAddressBox (final Contact contact); - - /** - * Displays a "box" for the name - *

- * @param contact Contact to show name from - */ - public void displayNameBox (final Contact contact); - - /** - * Displays a "box" for other data - *

- * @param contact Contact to show other data from - */ - public void displayOtherDataBox (final Contact contact); - - /** - * Shows given contact instamce - * - * @param contact Contact instance - */ - public void show (final Contact contact); - - /** - * The user changes own address data - *

- * @param contact Contact instance to change - */ - public void doChangeOwnAddressData (final Contact contact); - - /** - * The user changes own name data - *

- * @param contact - */ - public void doChangeOwnNameData (final Contact contact); - - /** - * The user changes own other data - *

- * @param contact Constact instance to change - */ - public void doChangeOwnOtherData (final Contact contact); - - /** - * Allows the user to enter own data - *

- * @return Finished Contact instance - */ - public Contact doEnterOwnData (); - - /** - * Asks the user for a choice and proceeds accordingly - *

- * @throws UnhandledUserChoiceException If choice is not supported - * @throws org.mxchange.jcore.exceptions.MenuInitializationException If the menu cannot be initialized - */ - public void doUserMenuChoice () throws UnhandledUserChoiceException, MenuInitializationException; - - /** - * Asks the the user to enter a single character which must match validChars - *

- * @param validChars Valid chars that are accepted - * @param message Message to user - * @return Allowed character - */ - public char enterChar (final char[] validChars, final String message); - - /** - * Asks the user to enter his/her gender (M=Male, F=Female, C=Company) - *

- * @param message Message to output - * @return Gender enum - */ - public Gender enterGender (final String message); - - /** - * Reads an integer (int) from the user - *

- * @param minimum Minimum allowed number - * @param maximum Maximum allowed number - * @param message Message to user - * @return Entered string by user or null if empty string is allowed - */ - public int enterInt (final int minimum, final int maximum, final String message); - - /** - * Reads a string of minimum and maximum length from the user. An empty - * string should be generally not allowed, but might be okay for e.g. - * company name. - *

- * @param minLength Minimum length of the string to read - * @param maxLength Maximum length of the string to read - * @param message Message to user - * @param allowEmpty Whether empty strings are allowed - * @return Entered string by user or null if empty string is allowed - */ - public String enterString (final int minLength, final int maxLength, final String message, final boolean allowEmpty); - - /** - * Setter for current menu choice - *

- * @param currentMenu Current menu choice - */ - public void setCurrentMenu (final String currentMenu); - - /** - * Some "Getter" for menu item - *

- * @param accessKey Key to press to access this menu - * @param text Text to show to user - * @return - */ - public SelectableMenuItem getMenuItem (final char accessKey, final String text); - - /** - * Shows current menu selection to the user - */ - public void showCurrentMenu (); - - /** - * Shows given menu entry in client - *

- * @param item Menu item to show - */ - public void showEntry (final SelectableMenuItem item); - - /** - * Let the user choose what to change on the address: [n]ame, [a]ddress, - * [o]ther - *

- * @param contact Contact instance to let the user change data - * @throws UnhandledUserChoiceException If choice is not supported - */ - public void userChooseChangeContactData (final Contact contact) throws UnhandledUserChoiceException; -} diff --git a/src/org/mxchange/addressbook/client/BaseAddressbookClient.java b/src/org/mxchange/addressbook/client/BaseAddressbookClient.java deleted file mode 100644 index 69b631d9..00000000 --- a/src/org/mxchange/addressbook/client/BaseAddressbookClient.java +++ /dev/null @@ -1,208 +0,0 @@ -/* - * 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.client; - -import java.sql.SQLException; -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.Map; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; -import org.mxchange.addressbook.facade.contact.AddressbookContactFacade; -import org.mxchange.addressbook.facade.contact.ContactFacade; -import org.mxchange.addressbook.menu.Menu; -import org.mxchange.jcore.client.BaseClient; -import org.mxchange.jcore.client.Client; -import org.mxchange.jcoreeelogger.beans.local.logger.Log; -import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal; - -/** - * A general addressbook client - *

- * @author Roland Haeder TODO: Find better name - */ -public abstract class BaseAddressbookClient extends BaseClient implements AddressbookClient { - - /** - * Current menu choice - */ - private String currentMenu; - - /** - * Logger instance - */ - @Log - private LoggerBeanLocal logger; - - /** - * Menu system - */ - private final Map menus; - - /** - * No instances can be created of this class - */ - protected BaseAddressbookClient () { - // Init menu map - this.menus = new HashMap<>(10); - - // Try it - try { - // Get context - Context context = new InitialContext(); - - // Lookup logger - this.logger = (LoggerBeanLocal) context.lookup("java:global/jcore-logger-ejb/logger!org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw - throw new RuntimeException(ex); - } - } - - /** - * Current menu choice - *

- * @return the currentMenu - */ - public final String getCurrentMenu () { - return this.currentMenu; - } - - @Override - public final void setCurrentMenu (final String currentMenu) { - this.currentMenu = currentMenu; - } - - /** - * "Getter" for given menu type - *

- * @param menuType Menu type instance to return - * @return Menu or null if not found - */ - private Menu getMenu (final String menuType) { - // Default is not found - Menu menu = null; - - // Check array - if (this.getMenus().containsKey(menuType)) { - // Found! - menu = this.getMenus().get(menuType); - } - - // Return it - return menu; - } - - /** - * Logs exception and exits program - *

- * @param throwable Throwable - */ - protected void abortProgramWithException (final Throwable throwable) { - // Log exception - this.logException(throwable); - - // Abort here - System.exit(1); - } - - /** - * Fills menu map with swing menus - */ - protected abstract void fillMenuMap (); - - /** - * Getter for logger instance - *

- * @return Logger instance - */ - protected LoggerBeanLocal getLogger () { - return this.logger; - } - - /** - * Getter for menus map - *

- * @return Map of all menus - */ - protected final Map getMenus () { - return this.menus; - } - - /** - * Initializes contact manager - *

- * @throws java.sql.SQLException If any SQL error occurs - */ - protected void initContactManager () throws SQLException { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Debug message - this.getLogger().logDebug("Initializing contact manager ..."); //NOI18N - - // Init contact facade with console client - // TODO Static initial amount of contacts - ContactFacade facade = new AddressbookContactFacade((Client) this); - - // Set it here - this.setFacade(facade); - - // Debug message - this.getLogger().logDebug("Contact manager has been initialized."); //NOI18N - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - /** - * Logs an exception - *

- * @param throwable Throwable - */ - protected void logException (final Throwable throwable) { - // Deligate to logger - this.getLogger().logException(throwable); - } - - /** - * Shows given menu - *

- * @param menuType Given menu to show - */ - protected void showMenu (final String menuType) { - // Trace message - this.getLogger().logTrace(MessageFormat.format("menuType={0} - CALLED!", menuType)); //NOI18N - - // Get menu from type - Menu menu = this.getMenu(menuType); - - // Is the menu set? - if (!(menu instanceof Menu)) { - // Not found - // TODO Own exception? - throw new NullPointerException(MessageFormat.format("Menu '{0}' not found.", menuType)); //NOI18N - } - - // Show menu - menu.show(this); - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } -} diff --git a/src/org/mxchange/addressbook/facade/contact/AddressbookContactFacade.java b/src/org/mxchange/addressbook/facade/contact/AddressbookContactFacade.java deleted file mode 100644 index 592d5b77..00000000 --- a/src/org/mxchange/addressbook/facade/contact/AddressbookContactFacade.java +++ /dev/null @@ -1,643 +0,0 @@ -/* - * 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.facade.contact; - -import java.io.IOException; -import java.sql.SQLException; -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import org.mxchange.addressbook.client.AddressbookClient; -import org.mxchange.jcontacts.contact.Contact; -import org.mxchange.jcontacts.contact.gender.Gender; -import org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException; -import org.mxchange.jcore.client.Client; -import org.mxchange.jcore.exceptions.UnhandledUserChoiceException; -import org.mxchange.jcore.facade.BaseFacade; -import org.mxchange.jcoreeelogger.beans.local.logger.Log; -import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal; - -/** - * A facade for contacts. - *

- * @author Roland Haeder - * @version 0.0 - */ -public class AddressbookContactFacade extends BaseFacade implements ContactFacade { - - /** - * Column name list - */ - private final List columnNames; - - /** - * Entity manager - */ - @PersistenceContext - private EntityManager entityManager; - - /** - * Logger instance - */ - @Log - private LoggerBeanLocal logger; - - /** - * Translated column name list - */ - private final List translatedColumnNames; - - /** - * Constructor which accepts maxContacts for maximum (initial) contacts and - * a client instance. - *

- * @param client Client instance to use - * @throws java.sql.SQLException If an SQL error occurs - */ - public AddressbookContactFacade (final Client client) throws SQLException { - // Trace message - this.getLogger().logTrace(MessageFormat.format("client={1} - CALLED!", client)); //NOI18N - - // Make sure all parameters are set correctly - if (null == client) { - // Abort here - throw new NullPointerException("client is null"); //NOI18N - } - - // Set client instance - this.setClient(client); - - // Initialize list - this.columnNames = new ArrayList<>(15); - this.translatedColumnNames = new ArrayList<>(15); - - // And fill it - this.fillColumnNamesFromBundle(); - - // Debug message - //* NOISY-DEBUG: */ this.getLogger().logDebug("client=" + client); - } - - @Override - public void addContact (final Contact contact) throws ContactAlreadyAddedException { - // Trace message - this.getLogger().logTrace(MessageFormat.format("contact={0} - CALLED!", contact)); //NOI18N - - // Contact instance must not be null - if (null == contact) { - // Abort here - throw new NullPointerException("contact is null"); //NOI18N - } - - // Add it - this.entityManager.persist(contact); - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - @Override - public void doAddOtherAddress () { - throw new UnsupportedOperationException("Not supported yet."); //NOI18N - } - - @Override - public void doChangeAddressData (final Contact contact) { - // Trace message - this.getLogger().logTrace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N - - // Contact must not be null - if (null == contact) { - // Abort here - throw new NullPointerException("contact is null"); //NOI18N - } - if (!(this.getClient() instanceof AddressbookClient)) { - // Cannot cast - throw new IllegalArgumentException(MessageFormat.format("this.getClient()={0} does not implement AddressbookClient", this.getClient())); //NOI18N - } - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - // First display it again - client.displayAddressBox(contact); - - // Is it own data? - if (contact.isOwnContact()) { - // Deligate to client - client.doChangeOwnAddressData(contact); - } else { - // Other contact's address data to change - throw new UnsupportedOperationException("Changing contact entries not finished."); //NOI18N - } - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - @Override - public void doChangeNameData (final Contact contact) { - // Trace message - this.getLogger().logTrace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N - - // Contact must not be null - if (null == contact) { - // Abort here - throw new NullPointerException("contact is null"); //NOI18N - } - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - // First display them again - client.displayNameBox(contact); - - // Is this own data? - if (contact.isOwnContact()) { - // Re-ask own data - client.doChangeOwnNameData(contact); - } else { - // Then re-ask them ... - throw new UnsupportedOperationException("Changing contact entries not finished."); //NOI18N - } - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - @Override - public void doChangeOtherAddress () { - throw new UnsupportedOperationException("Not supported yet."); //NOI18N - } - - @Override - public void doChangeOtherData (final Contact contact) { - // Trace message - this.getLogger().logTrace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N - - // Contact must not be null - if (null == contact) { - // Abort here - throw new NullPointerException("contact is null"); //NOI18N - } - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - // First display them again - client.displayOtherDataBox(contact); - - // Is this own data? - if (contact.isOwnContact()) { - // Re-ask own data - client.doChangeOwnOtherData(contact); - } else { - // Then re-ask them ... - throw new UnsupportedOperationException("Changing contact entries not finished."); //NOI18N - } - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - @Override - public void doChangeOwnData () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - /* - * First check if the user has registered own contact, before that - * nothing can be changed. - */ - if (!this.isOwnContactAdded()) { - // Not added - this.getClient().outputMessage("Sie haben noch nicht Ihre Daten eingegeben."); //NOI18N - - // Skip any below code - return; - } - - // Instance - Contact contact = this.getOwnContact(); - - // It must be found - assert (contact instanceof Contact) : ": contact is not implementing Contact: " + contact; - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - // Display contact - client.show(contact); - - try { - // Ask user what to change - client.userChooseChangeContactData(contact); - } catch (final UnhandledUserChoiceException ex) { - this.getLogger().logException(ex); - } - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - @Override - public void doDeleteOtherAddress () { - throw new UnsupportedOperationException("Not supported yet."); //NOI18N - } - - @Override - public void doEnterOwnData () throws ContactAlreadyAddedException { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Is own contact already added? - if (this.isOwnContactAdded()) { - // Don't continue here - throw new ContactAlreadyAddedException(); - } - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - // Deligate this call to the client - Contact contact = client.doEnterOwnData(); - - // Is it set? - if (contact instanceof Contact) { - // Add it to contact "book" - this.registerContact(contact); - } - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - @Override - public void doListContacts () { - throw new UnsupportedOperationException("Not supported yet."); //NOI18N - } - - @Override - public void doSearchContacts () { - throw new UnsupportedOperationException("Not supported yet."); //NOI18N - } - - @Override - public void doShutdown () throws SQLException, IOException { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Shut down the database layer - this.entityManager.close(); - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - @Override - public String enterOwnCellNumber () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(5, 30, "Bitte geben Sie Ihre Handynummer an: ", true); - } - - @Override - public String enterOwnCity () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(3, 50, "Bitte geben Sie Ihren Wohnort ein: ", false); - } - - @Override - public String enterOwnComment () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(0, 100, "Kommentar zu Ihrem Eintrag: ", true); - } - - @Override - public String enterOwnCompanyName () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(5, 50, "Bitte geben Sie Ihre Firmenbezeichnung ein: ", true); - } - - @Override - public String enterOwnCountryCode () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(2, 2, "Bitte geben Sie den zweistelligen Ländercode von Ihrem Land ein: ", false).toUpperCase(); - } - - @Override - public String enterOwnEmailAddress () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(10, 50, "Bitte geben Sie Ihre Email-Adresse ein: ", true); - } - - @Override - public String enterOwnFamilyName () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(2, 50, "Bitte geben Sie Ihren Nachnamen ein: ", false); - } - - @Override - public String enterOwnFaxNumber () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(5, 30, "Bitte geben Sie Ihre Faxnummer an: ", true); - } - - @Override - public String enterOwnFirstName () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(2, 50, "Bitte geben Sie Ihren Vornamen ein: ", false); - } - - @Override - public Gender enterOwnGender () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterGender("Bitte geben Sie die Anrede ein: (M=Herr, F=Frau, C=Firma): "); - } - - @Override - public String enterOwnPhoneNumber () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(5, 30, "Bitte geben Sie Ihre Telefonnummer an: ", true); - } - - @Override - public String enterOwnStreet () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterString(5, 50, "Bitte geben Sie Ihre Strasse und Hausnummer ein: ", false); - } - - @Override - public int enterOwnZipCode () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Get and cast client instance - AddressbookClient client = (AddressbookClient) this.getClient(); - - return client.enterInt(0, 99_999, "Bitte geben Sie Ihre Postleitzahl ein: "); - } - - @Override - public final int getColumnCount () { - assert (this.columnNames instanceof List) : "this.columnNames is not initialized"; //NOI18N - - return this.columnNames.size(); - } - - @Override - public String getColumnName (final int columnIndex) { - assert (this.columnNames instanceof List) : "this.columnNames is not initialized"; //NOI18N - - // Get column name at index - return this.columnNames.get(columnIndex); - } - - @Override - public String getTranslatedColumnName (final int columnIndex) { - assert (this.translatedColumnNames instanceof List) : "this.translatedColumnNames is not initialized"; //NOI18N - - // Get column name at index - return this.translatedColumnNames.get(columnIndex); - } - - @Override - public Object getValueFromRowColumn (final int rowIndex, final int columnIndex) { - // Trace message - this.getLogger().logTrace(MessageFormat.format("rowIndex={0},columnIndex={1} CALLED!", rowIndex, columnIndex)); //NOI18N - - // Convert column index -> name - String columnName = this.getColumnName(columnIndex); - - // Debug message - this.getLogger().logDebug(MessageFormat.format("columnName={0}", columnName)); //NOI18N - - // Init value - Object value = null; - - // Trace message - this.getLogger().logTrace(MessageFormat.format("value={0} - EXIT!", value)); //NOI18N - - // Return it - return value; - } - - @Override - public boolean isOwnContactAdded () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Init variable - boolean isAdded = false; - - // Trace message - this.getLogger().logTrace(MessageFormat.format("isAdded={0} : EXIT!", isAdded)); //NOI18N - - // Return result - return isAdded; - } - - @Override - public void registerContact (final Contact contact) { - // Trace message - this.getLogger().logTrace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N - - // Sanity check - if (null == contact) { - // Abort here - throw new NullPointerException("contact is null"); //NOI18N - } - try { - // Check if contact is found - if (this.entityManager.contains(contact)) { - // Contact already added - // TODO Do something here - } else if ((contact.isOwnContact()) && (this.isOwnContactAdded())) { - // Own contact already added - // TODO Do something - } - - // Add contact to internal list - this.addContact(contact); - } catch (final ContactAlreadyAddedException ex) { - // Abort here - this.abortProgramWithException(ex); - } - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - /** - * Logs given exception and exits program - *

- * @param throwable Throwable - */ - private void abortProgramWithException (Throwable throwable) { - // Log exception - this.logException(throwable); - - // Abort here - System.exit(1); - } - - /** - * Fills the column names array with strings from bundle - */ - private void fillColumnNamesFromBundle () { - assert (this.columnNames instanceof List) : "this.columnNames is not initialized"; //NOI18N - assert (this.translatedColumnNames instanceof List) : "this.translatedColumnNames is not initialized"; //NOI18N - - // Debug message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // First get an iterator from key set to iterate over - Iterator iterator = this.getBundle().keySet().iterator(); - - // Then iterate over all - while (iterator.hasNext()) { - // Get next element - String key = iterator.next().toLowerCase(); - - // Does the key start with AddressbookContactFacade.columnName ? - if (key.startsWith("ContactManager.columnName")) { //NOI18N - // This is the wanted entry. - this.getLogger().logDebug(MessageFormat.format("key={0}", key)); //NOI18N - - // Convert string to array based on delimiter '.' - String[] tokens = this.getArrayFromString(key, "."); //NOI18N - - // Token array must contain 4 elements (AddressbookContactFacade.columnName.foo.text) - assert (tokens.length == 4) : MessageFormat.format("Array tokens contains not 4 elements: {0}", Arrays.toString(tokens)); //NOI18N - - // Get pre-last element - String columnName = tokens[tokens.length - 2]; - - // Debug message - this.getLogger().logDebug(MessageFormat.format("columnName={0} - adding ...", columnName)); //NOI18N - - // So add it - this.columnNames.add(columnName); - this.translatedColumnNames.add(this.getBundle().getString(key)); - } - } - - // Debug message - this.getLogger().logTrace(MessageFormat.format("getColumnCount()={0}: EXIT!", this.getColumnCount())); //NOI18N - } - - /** - * Getter for logger instance - *

- * @return Logger instance - */ - private LoggerBeanLocal getLogger () { - return this.logger; - } - - /** - * "Getter" for own contact instance or null if not found - *

- * @return Contact instance or null - */ - private Contact getOwnContact () { - // Trace message - this.getLogger().logTrace("CALLED!"); //NOI18N - - // Deligate this call to database frontend - Contact contact = null; - //Contact contact = ((AddressbookContactFrontend) this.getFrontend()).getOwnContact(); - - // Trace message - this.getLogger().logTrace(MessageFormat.format("contact={0} - EXIT!", contact)); //NOI18N - - // Return instance or null - return contact; - } - - /** - * Logs given exception - *

- * @param exception Throwable - */ - protected void logException (final Throwable exception) { - this.getLogger().logException(exception); - } -} diff --git a/src/org/mxchange/addressbook/facade/contact/ContactFacade.java b/src/org/mxchange/addressbook/facade/contact/ContactFacade.java deleted file mode 100644 index aac08dd3..00000000 --- a/src/org/mxchange/addressbook/facade/contact/ContactFacade.java +++ /dev/null @@ -1,241 +0,0 @@ -/* - * 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.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.jcore.facade.Facade; - -/** - * An interface for addressbook contact manager - *

- * @author Roland Haeder - */ -public interface ContactFacade extends Facade { - - /** - * Adds given Contact instance to list - *

- * @param contact Contact instance to add - * @throws org.mxchange.jcontacts.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.jcontacts.exceptions.ContactAlreadyAddedException If own contact is already added - * @throws java.io.IOException If an IO error was found - */ - public void doEnterOwnData () throws ContactAlreadyAddedException; - - /** - * List all contacts - */ - public void doListContacts (); - - /** - * Searches address book for a contact - */ - public void doSearchContacts (); - - /** - * 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 surname. - *

- * @return Surname - */ - public String enterOwnFirstName (); - - /** - * 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 ZIP code. - *

- * @return ZIP code - */ - public int enterOwnZipCode (); - - /** - * Getter for column count - *

- * @return Column count TODO: This is needed for TableModel in Swing - */ - public int getColumnCount (); - - /** - * Getter for column name at given index. - *

- * @param columnIndex Column index - * @return Database column name TODO: This is needed for TableModel in Swing - */ - public String getColumnName (final int columnIndex); - - /** - * Getter for translated column name at given index. - *

- * @param columnIndex Column index - * @return Human-readable column name TODO: This is needed for TableModel in - * Swing - */ - public String getTranslatedColumnName (final 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); - - /** - * Checks whether own contact is already added by checking all entries for - * isOwnContact flag - *

- * @return Whether own contact is already added - * @throws java.io.IOException If an IO error occurs - */ - public boolean isOwnContactAdded () throws IOException; - - /** - * Adds given contact to address book - *

- * @param contact Contact being added TODO Add check for book size - */ - public void registerContact (final Contact contact); -} diff --git a/src/org/mxchange/addressbook/menu/AddressbookMenu.java b/src/org/mxchange/addressbook/menu/AddressbookMenu.java deleted file mode 100644 index 8ef43f4c..00000000 --- a/src/org/mxchange/addressbook/menu/AddressbookMenu.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * 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.menu; - -import java.text.MessageFormat; -import java.util.List; -import org.mxchange.addressbook.client.AddressbookClient; -import org.mxchange.addressbook.menu.item.SelectableMenuItem; -import org.mxchange.jcore.client.Client; - -/** - * Utility class for menu structure - *

- * @author Roland Haeder - */ -public class AddressbookMenu extends BaseMenu { - - /** - * Copies entries for given type into the menu list - *

- * @param menuList Menu list for later showing - * @param menuType Type of menu - * @param client Client instance to call back - */ - public static void addItemsToList (final List menuList, final String menuType, final Client client) { - // Some instances must be set - if (null == menuList) { - // Abort here - throw new NullPointerException("menuList is null"); //NOI18N - } else if (null == client) { - // Abort here - throw new NullPointerException("contact is null"); //NOI18N - } else if (!(client instanceof AddressbookClient)) { - // Not correct instance - throw new IllegalArgumentException(MessageFormat.format("client{0} must implement AddressbookClient", client)); - } - - // Cast client to proper interface - AddressbookClient c = (AddressbookClient) client; - - // Get list size - int size = menuList.size(); - - // Depends on type - switch (menuType) { - case "main": // Main menu //NOI18N - // Enter own data - menuList.add(c.getMenuItem('1', "Eigene Adresse anlegen")); - - // Change own data - menuList.add(c.getMenuItem('2', "Eigene Adresse ändern")); - - // Add new addess - menuList.add(c.getMenuItem('3', "Neue Adresse hinzufügen")); - - // List entries - menuList.add(c.getMenuItem('4', "Adressbuch anzeigen")); - - // Address search - menuList.add(c.getMenuItem('5', "Adresse suchen")); - - // Change other address - menuList.add(c.getMenuItem('6', "Adresse ändern")); - - // Delete other address - menuList.add(c.getMenuItem('7', "Adresse löschen")); - - // Always last line: Exit program - menuList.add(c.getMenuItem('0', "Programm verlassen")); - break; - - default: // Not supported - System.err.println(MessageFormat.format("Menu type '{0}' ont supported", menuType)); //NOI18N - System.exit(1); - } - - // Size must have changed to more entries than before - assert (menuList.size() > size); - } - -} diff --git a/src/org/mxchange/addressbook/menu/BaseMenu.java b/src/org/mxchange/addressbook/menu/BaseMenu.java deleted file mode 100644 index cf5b916f..00000000 --- a/src/org/mxchange/addressbook/menu/BaseMenu.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * 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.menu; - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import org.mxchange.addressbook.BaseAddressbookSystem; -import org.mxchange.addressbook.menu.item.SelectableMenuItem; -import org.mxchange.jcore.client.Client; - -/** - * A general menu class - *

- * @author Roland Haeder - */ -public abstract class BaseMenu extends BaseAddressbookSystem implements Menu { - - /** - * Menu list - */ - private List menuList; - - /** - * No instance from this object - */ - protected BaseMenu () { - } - - @Override - public int getMenuItemsCount () { - return this.menuList.size(); - } - - @Override - public Iterator getMenuItemsIterator () { - return this.menuList.iterator(); - } - - @Override - public void show (final Client client) { - // Trace message - this.getLogger().logTrace(MessageFormat.format("client={0} CALLED!", client)); //NOI18N - - // Client must not be null - if (null == client) { - // Abort here - throw new NullPointerException("client is null"); //NOI18N - } - - // Get values - Iterator iterator = this.menuList.iterator(); - - // Debug message - this.getLogger().logDebug("Showing menu with '" + this.menuList.size() + "' entries."); - - // Output all menus - while (iterator.hasNext()) { - // Get item - SelectableMenuItem item = iterator.next(); - - // Show this item - item.show(client); - } - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } - - /** - * Getter for menu list - *

- * @return menuList List of menu entries - */ - protected final List getMenuList () { - return this.menuList; - } - - /** - * Initializes menu - *

- * @param menuType Menu type to initialize - * @param client CLient to call back - */ - protected void initMenu (final String menuType, final Client client) { - // Trace message - this.getLogger().logTrace(MessageFormat.format("menuType={0},client={1} - CALLED!", menuType, client)); //NOI18N - - // Init menu list - this.menuList = new ArrayList<>(5); - - // Trace message - this.getLogger().logTrace("EXIT!"); //NOI18N - } -} diff --git a/src/org/mxchange/addressbook/menu/Menu.java b/src/org/mxchange/addressbook/menu/Menu.java deleted file mode 100644 index a0ba62f9..00000000 --- a/src/org/mxchange/addressbook/menu/Menu.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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.menu; - -import java.util.Iterator; -import org.mxchange.addressbook.menu.item.SelectableMenuItem; -import org.mxchange.jcore.client.Client; - -/** - * An interface for menus - *

- * @author Roland Haeder TODO find better name - */ -public interface Menu { - - /** - * Size of all menu items - *

- * @return - */ - public int getMenuItemsCount (); - - /** - * "Getter" for an iterator on all menu items of the current menu - *

- * @return Iterator on all menu items - */ - public Iterator getMenuItemsIterator (); - - /** - * Shows this menu - *

- * @param client Client instance - */ - public void show (final Client client); -} diff --git a/src/org/mxchange/addressbook/menu/MenuTools.java b/src/org/mxchange/addressbook/menu/MenuTools.java deleted file mode 100644 index 87f8c114..00000000 --- a/src/org/mxchange/addressbook/menu/MenuTools.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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.menu; - -import java.util.Iterator; -import java.util.Map; -import org.mxchange.addressbook.BaseAddressbookSystem; -import org.mxchange.addressbook.menu.item.SelectableMenuItem; -import org.mxchange.jcore.exceptions.MenuInitializationException; - -/** - * Menu utilities - *

- * @author Roland Haeder - */ -public class MenuTools extends BaseAddressbookSystem { - - /** - * Gets an array with all available access keys back from given menu map. - * This can later be handle to the client's enterChar() method. - *

- * @param menus A Map with all menus and their entries - * @param menuType Menu type - * @return An array with available access chars - * @throws org.mxchange.jcore.exceptions.MenuInitializationException If the menu cannot be initialized - */ - public static char[] getAccessKeysFromMenuMap (final Map menus, final String menuType) throws MenuInitializationException { - // First search for the proper menu class - Menu menu = menus.get(menuType); - - // Is it there? - if (!(menu instanceof Menu)) { - // Not found - throw new MenuInitializationException(menu, menuType); - } - - // Get iterator - Iterator iterator = menu.getMenuItemsIterator(); - - // Init return array and counter 'i' - char[] accessKeys = new char[menu.getMenuItemsCount()]; - int i = 0; - - // Now "walk" through all menu entries - while (iterator.hasNext()) { - // Get item - SelectableMenuItem item = iterator.next(); - //* NOISY-DEBUG: */ logger.logDebug("item=" + item); - - // Get access key from item and add it to the array - accessKeys[i] = item.getAccessKey(); - //* NOISY-DEBUG: */ logger.logDebug("accessKeys[" + i + "]=" + accessKeys[i]); - - // Increment counter - i++; - } - - // Return finished array - return accessKeys; - } -} diff --git a/src/org/mxchange/addressbook/menu/item/BaseMenuItem.java b/src/org/mxchange/addressbook/menu/item/BaseMenuItem.java deleted file mode 100644 index 473e9e4a..00000000 --- a/src/org/mxchange/addressbook/menu/item/BaseMenuItem.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * 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.menu.item; - -import org.mxchange.addressbook.BaseAddressbookSystem; - -/** - * A general menu item class - *

- * @author Roland Haeder - */ -public abstract class BaseMenuItem extends BaseAddressbookSystem { - -} diff --git a/src/org/mxchange/addressbook/menu/item/SelectableMenuItem.java b/src/org/mxchange/addressbook/menu/item/SelectableMenuItem.java deleted file mode 100644 index 59758f82..00000000 --- a/src/org/mxchange/addressbook/menu/item/SelectableMenuItem.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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.menu.item; - -import org.mxchange.jcore.FrameworkInterface; -import org.mxchange.jcore.client.Client; - -/** - * A selectable menu item intereface - *

- * @author Roland Haeder - */ -public interface SelectableMenuItem extends FrameworkInterface { - - /** - * Access key - *

- * @return the accessKey - */ - public char getAccessKey (); - - /** - * Text to user - *

- * @return the text - */ - public String getText (); - - /** - * Shows this menu item - *

- * @param client Client instance - */ - public void show (final Client client); -} diff --git a/src/org/mxchange/addressbook/model/addressbooks/AddressbookSessionBeanRemote.java b/src/org/mxchange/addressbook/model/addressbooks/AddressbookSessionBeanRemote.java new file mode 100644 index 00000000..93e6bb37 --- /dev/null +++ b/src/org/mxchange/addressbook/model/addressbooks/AddressbookSessionBeanRemote.java @@ -0,0 +1,29 @@ +/* + * 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.model.addressbooks; + +import java.io.Serializable; +import javax.ejb.Remote; + +/** + * A remote session interface for addressbook handling + *

+ * @author Roland Haeder + */ +@Remote +public interface AddressbookSessionBeanRemote extends Serializable { +}