]> git.mxchange.org Git - jfinancials-lib.git/blobdiff - Addressbook/src/org/mxchange/addressbook/contact/BaseContact.java
Moved a lot classes and interfaces (generalized) to new jcore project + added a few...
[jfinancials-lib.git] / Addressbook / src / org / mxchange / addressbook / contact / BaseContact.java
index 40326c3e27de08b6ee110462929149c809c5c555..4e590c2462f0420c24b658d0d48a2053e582f0a2 100644 (file)
@@ -18,17 +18,17 @@ package org.mxchange.addressbook.contact;
 
 import java.text.MessageFormat;
 import java.util.Objects;
-import org.mxchange.addressbook.BaseFrameworkSystem;
-import org.mxchange.addressbook.client.Client;
+import org.mxchange.addressbook.BaseAddressbookSystem;
+import org.mxchange.addressbook.client.AddressbookClient;
+import org.mxchange.jcore.client.Client;
 
 /**
  * A general contact
  *
  * @author Roland Haeder
  * @version 0.0
- * @since 0.0
  */
-public class BaseContact extends BaseFrameworkSystem {
+public class BaseContact extends BaseAddressbookSystem {
 
        /**
         * Birth day
@@ -114,7 +114,6 @@ public class BaseContact extends BaseFrameworkSystem {
         * No instances can be created of this class
         */
        protected BaseContact () {
-               super();
        }
 
        /**
@@ -238,14 +237,16 @@ public class BaseContact extends BaseFrameworkSystem {
         * "Serializes" this object into a CSV string (this time with semicolons)
         *
         * @return "CSV-serialized" version of the stored data
+        * @deprecated Don't use this anymore
         */
+       @Deprecated
        public String getCsvStringFromStoreableObject () {
                // Trace message
                this.getLogger().trace("CALLED!"); //NOI18N
 
                // Get all together
                String csvString = String.format(
-                               "\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\"",
+                               "\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\";\"%s\"", //NOI18N
                                this.isOwnContact(),
                                this.getGender().getDatabaseValue(),
                                this.getSurname(),
@@ -390,27 +391,8 @@ public class BaseContact extends BaseFrameworkSystem {
         * @return gender Human-readable gender
         */
        public String getTranslatedGender () {
-               // Default init
-               String translated = null;
-
                // "Translate" it
-               switch (this.getGender()) {
-                       case MALE: // Mr.
-                               translated = "Herr";
-                               break;
-
-                       case FEMALE: // Mrs.
-                               translated = "Frau";
-                               break;
-
-                       case COMPANY: // "Company"
-                               translated = "Firma";
-                               break;
-
-                       default: // Unsupported
-                               this.getLogger().error("Gender " + this.getGender() + " not supported.");
-                               break;
-               }
+               String translated = this.getBundle().getString(this.getGender().getMessageKey());
 
                // Return it
                return translated;
@@ -433,7 +415,7 @@ public class BaseContact extends BaseFrameworkSystem {
        protected final void setZipCode (final long zipCode) {
                this.zipCode = zipCode;
        }
-
+       
        @Override
        public int hashCode () {
                // Validate gender instance
@@ -470,14 +452,17 @@ public class BaseContact extends BaseFrameworkSystem {
                        throw new NullPointerException("client is null");
                }
 
+               // Cast client
+               AddressbookClient c = (AddressbookClient) client;
+
                // Display name "box"
-               client.displayNameBox((Contact) this);
+               c.displayNameBox((Contact) this);
 
                // Display address "box"
-               client.displayAddressBox((Contact) this);
+               c.displayAddressBox((Contact) this);
 
                // Display other data "box"
-               client.displayOtherDataBox((Contact) this);
+               c.displayOtherDataBox((Contact) this);
        }
 
        /**
@@ -629,4 +614,72 @@ public class BaseContact extends BaseFrameworkSystem {
        protected final void setBirthday (final String birthday) {
                this.birthday = birthday;
        }
+
+       /**
+        * Some "getter for a value from given column name. This name will be
+        * translated into a method name and then this method is called.
+        *
+        * @param columnName Column name
+        * @return Value from field
+        */
+       @Override
+       public Object getValueFromColumn (final String columnName) {
+               // Trace message
+               this.getLogger().trace(MessageFormat.format("columnName={0} - CALLED!", columnName));
+               
+               // Determine if the given column is boolean
+               if (this.isBooleanField(this, "BaseContact", columnName)) {
+                       // Yes, then call other method
+                       return this.getBooleanField(this, "BaseContact", columnName);
+               }
+               
+               // Convert column name to field name
+               String methodName = this.convertColumnNameToGetterMethod(columnName, false);
+               
+               // Debug message
+               this.getLogger().debug(MessageFormat.format("field={0}", methodName));
+               
+               // Get field
+               Object value = this.getField(this, "BaseContact", methodName);
+               
+               // Trace message
+               this.getLogger().trace("value=" + value + " - EXIT!");
+               
+               // Return it
+               return value;
+       }
+
+       /**
+        * Checks if given boolean field is available and set to same value
+        *
+        * @param columnName Column name to check
+        * @param bool Boolean value
+        * @return Whether all conditions are met
+        */
+       @Override
+       public boolean isValueEqual (final String columnName, final boolean bool) {
+               // Trace message
+               this.getLogger().trace(MessageFormat.format("columnName={0},bool={1} - CALLED!", columnName, bool));
+               
+               // Convert column name to field name
+               String methodName = this.convertColumnNameToGetterMethod(columnName, true);
+               
+               // Debug message
+               this.getLogger().debug(MessageFormat.format("field={0}", methodName));
+               
+               // Init class instance
+               boolean value = this.getBooleanField(this, "BaseContact", methodName);
+               
+               // Debug message
+               this.getLogger().debug(MessageFormat.format("value={0}", value));
+               
+               // Compare it
+               boolean isFound = (bool == value);
+               
+               // Trace message
+               this.getLogger().trace(MessageFormat.format("isFound={0} - EXIT!", isFound));
+               
+               // Return result
+               return isFound;
+       }
 }