*/
package org.mxchange.jcore.contact;
+import java.lang.reflect.Field;
import java.text.MessageFormat;
import java.util.Iterator;
+import java.util.Map;
import java.util.Objects;
import org.mxchange.jcore.BaseFrameworkSystem;
import org.mxchange.jcore.client.Client;
* @return Value from field
*/
@Override
- public Object getValueFromColumn (final String columnName) {
+ public Object getValueFromColumn (final String columnName) throws IllegalArgumentException {
// Trace message
this.getLogger().trace(MessageFormat.format("columnName={0} - CALLED!", columnName));
+ // A '$' means not our field
+ if (columnName.startsWith("$")) {
+ // Don't handle these
+ throw new IllegalArgumentException("columnsName contains $");
+ }
+
// Determine if the given column is boolean
if (this.isBooleanField(this, "BaseContact", columnName)) {
+ // Debug message
+ this.getLogger().debug("Column " + columnName + " represents a boolean field.");
+
// Yes, then call other method
- return this.getBooleanField(this, "BaseContact", columnName);
+ return this.getBooleanField(this, "BaseContact", this.convertColumnNameToGetterMethod(columnName, true));
}
// Convert column name to field name
* @return An iterator
*/
@Override
- public Iterator<Object> iterator () {
+ public Iterator<Map.Entry<Field, Object>> iterator () {
return this.fieldIterator(this, "BaseContact");
}