*/
package org.mxchange.jcore.contact;
-import org.mxchange.jcore.FrameworkInterface;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Iterator;
+import java.util.Map;
import org.mxchange.jcore.client.Client;
+import org.mxchange.jcore.database.storage.Storeable;
/**
* A general contact interface
*
* @author Roland Haeder
*/
-public interface Contact extends FrameworkInterface, Iterable<Object> {
+public interface Contact extends Storeable {
+ /**
+ * Returns an iterator of all values from this object
+ *
+ * @return An iterator
+ * @throws java.lang.NoSuchMethodException If the invoked method was not found
+ * @throws java.lang.IllegalAccessException If the method cannot be accessed
+ * @throws java.lang.reflect.InvocationTargetException Any other problems?
+ */
+ public Iterator<Map.Entry<Field, Object>> iterator ()throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;
/**
* Some "getter" for translated gender of the contact
public void setGender (final Gender gender);
/**
- * Surname
+ * First name
*
- * @return the surname
+ * @return the first name
*/
- public String getSurname ();
+ public String getFirstName ();
/**
- * Surname
+ * First name
*
- * @param surname the surname to set
+ * @param firstName the first name to set
*/
- public void setSurname (final String surname);
+ public void setFirstName (final String firstName);
/**
* Family name
*
* @return the houseNumber
*/
- public long getHouseNumber ();
+ public Long getHouseNumber ();
/**
* House number
*
* @param houseNumber the houseNumber to set
*/
- public void setHouseNumber (final long houseNumber);
+ public void setHouseNumber (final Long houseNumber);
/**
* ZIP code
*
* @return the zipCode
*/
- public long getZipCode ();
+ public Long getZipCode ();
/**
* ZIP code
*
* @param zipCode the zipCode to set
*/
- public void setZipCode (final long zipCode);
+ public void setZipCode (final Long zipCode);
/**
* City