import java.io.Serializable;
import java.sql.Timestamp;
+import java.util.List;
+import org.mxchange.jshopcore.model.basket.AddableBasketItem;
+import org.mxchange.jshopcore.model.customer.Customer;
/**
* An interface for customer orders
*/
public interface Orderable extends Serializable {
+ /**
+ * Getter for access key
+ *
+ * @return Access key
+ */
+ public String getAccessKey ();
+
+ /**
+ * Setter for access key
+ *
+ * @param accessKey Access key
+ */
+ public void setAccessKey (final String accessKey);
+
/**
* Getter for order id
*
public void setId (final Long id);
/**
- * Getter for customer id
+ * Getter for customer instance
*
- * @return Customer id
+ * @return Customer instance
*/
- public Long getCustomerId ();
+ public Customer getCustomer ();
/**
- * Setter for customer id
+ * Setter for customer instance
*
- * @param customerId Customer id
+ * @param customer Customer instance
*/
- public void setCustomerId (final Long customerId);
+ public void setCustomer (final Customer customer);
/**
* Getter for created timestamp
* @param created Created timestamp
*/
public void setCreated (final Timestamp created);
+
+ /**
+ * Getter for list of ordered basket items
+ *
+ * @return List of items
+ */
+ public List<AddableBasketItem> getOrderedItems ();
+
+ /**
+ * Setter for list of ordered basket items
+ *
+ * @param itemList List of items
+ */
+ public void setOrderedItems (final List<AddableBasketItem> itemList);
}