]> git.mxchange.org Git - jproduct-core.git/blobdiff - src/org/mxchange/jshopcore/model/customer/Customer.java
added equals()/hashCode() for easier checking
[jproduct-core.git] / src / org / mxchange / jshopcore / model / customer / Customer.java
index 21cf303e401fe4c78957060e3f29abbfd1efe19a..d2bd2b356744ba42ad66cdb9e0eb3bd971be99c9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Roland Haeder
+ * Copyright (C) 2016 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
  */
 package org.mxchange.jshopcore.model.customer;
 
-import org.mxchange.jcore.model.contact.Contact;
+import java.io.Serializable;
+import java.util.Calendar;
+import org.mxchange.jcontacts.contact.Contact;
+import org.mxchange.jshopcore.model.customer.status.CustomerAccountStatus;
 
 /**
  * A customer interface
- *
+ * <p>
  * @author Roland Haeder<roland@mxchange.org>
  */
-public interface Customer extends Contact {
+public interface Customer extends Serializable {
+
+       /**
+        * Copies all attributes from other customer object to this
+        * <p>
+        * @param customer Source instance
+        */
+       void copyAll (final Customer customer);
+
+       /**
+        * Getter for contact instance
+        * <p>
+        * @return Contact id number
+        */
+       Contact getContact ();
+
+       /**
+        * Setter for contact instance
+        * <p>
+        * @param contact Contact instance
+        */
+       void setContact (final Contact contact);
+
+       /**
+        * Getter for confirmation key
+        * <p>
+        * @return Confirmation key
+        */
+       String getCustomerConfirmKey ();
+
+       /**
+        * Setter for confirmation key
+        * <p>
+        * @param customerConfirmKey Confirmation key
+        */
+       void setCustomerConfirmKey (final String customerConfirmKey);
+
+       /**
+        * Getter for "created" timestamp
+        * <p>
+        * @return "created" timestamp
+        */
+       Calendar getCustomerCreated ();
+
+       /**
+        * Setter for "created" timestamp
+        * <p>
+        * @param customerCreated "created" timestamp
+        */
+       void setCustomerCreated (final Calendar customerCreated);
+
+       /**
+        * Getter for customer id number
+        * <p>
+        * @return Customer id number
+        */
+       Long getCustomerId ();
+
+       /**
+        * Settte for customer id number
+        * <p>
+        * @param customerId Customer id number
+        */
+       void setCustomerId (final Long customerId);
+
+       /**
+        * Getter for "locked" timestamp
+        * <p>
+        * @return "locked" timestamp
+        */
+       Calendar getCustomerLocked ();
+
+       /**
+        * Getter for "locked" timestamp
+        * <p>
+        * @param customerLocked "locked" timestamp
+        */
+       void setCustomerLocked (final Calendar customerLocked);
+
+       /**
+        * Getter for customer number
+        * <p>
+        * @return Customer number
+        */
+       String getCustomerNumber ();
+
+       /**
+        * Setter for customer number
+        * <p>
+        * @param customerNumber Customer number
+        */
+       void setCustomerNumber (final String customerNumber);
+
+       /**
+        * Getter for password hash
+        * <p>
+        * @return Password hash
+        */
+       String getCustomerPasswordHash ();
+
+       /**
+        * Setter for password hash
+        * <p>
+        * @param customerPasswordHash Password hash
+        */
+       void setCustomerPasswordHash (final String customerPasswordHash);
+
+       /**
+        * Getter for account status
+        * <p>
+        * @return Account status
+        */
+       CustomerAccountStatus getCustomerAccountStatus ();
+
+       /**
+        * Setter for account status
+        * <p>
+        * @param customerStatus Account status
+        */
+       void setCustomerAccountStatus (final CustomerAccountStatus customerStatus);
+
+       @Override
+       boolean equals (final Object object);
+
+       @Override
+       int hashCode ();
 }