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
* No instances can be created of this class
*/
protected BaseContact () {
- super();
}
/**
* "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(),
* @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;
protected final void setZipCode (final long zipCode) {
this.zipCode = zipCode;
}
-
+
@Override
public int hashCode () {
// Validate gender instance
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);
}
/**
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;
+ }
}