package org.mxchange.pizzaapplication.beans.basket;
import java.io.Serializable;
+import org.mxchange.jshopcore.model.basket.AddableBasketItem;
import org.mxchange.jshopcore.model.product.Product;
/**
* @author Roland Haeder<roland@mxchange.org>
*/
public interface BasketWebController extends Serializable {
+
/**
* Checks whether the basket is empty
*
public boolean isEmpty ();
/**
- * Checks whether the basket has items in it. This method is wrapper to isEmpty()
+ * Checks whether the basket has items in it. This method is wrapper to
+ * isEmpty()
*
* @return Whether the basket is empty
*/
* @return Whether the product is added
*/
public boolean isProductAdded (final Product product);
+
+ /**
+ * Adds given product instance to basket by adding amount from form data to
+ * it.
+ *
+ * @param product Product instance to add
+ * @return Redirect target or null
+ */
+ public String addItem (final Product product);
+
+ /**
+ * Getter for item amount property
+ *
+ * @return Item amount property
+ */
+ public Long getAmount ();
+
+ /**
+ * Setter for item amount property
+ *
+ * @param amount Item amount property
+ */
+ public void setAmount (final Long amount);
+
+ /**
+ * Getter for current item
+ *
+ * @return Current item
+ */
+ public AddableBasketItem getCurrentItem ();
+
+ /**
+ * Setter for current item
+ *
+ * @param currentItem Current item
+ */
+ public void setCurrentItem (final AddableBasketItem currentItem);
+
+ /**
+ * Calculates total price (no tax added) of current item. If no current item
+ * is set and no amount, a NPE is thrown.
+ *
+ * @return Current item's total price
+ */
+ public Float calculateItemPrice ();
}