2 * Copyright (C) 2016, 2017 Roland Häder
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package org.mxchange.jshopcore.model.basket;
19 import java.io.Serializable;
20 import org.mxchange.jproduct.model.product.Product;
23 * An interface for addable basket items
25 * @author Roland Häder<roland@mxchange.org>
27 public interface AddableBasketItem extends Serializable {
30 * Getter for item amount
34 Long getOrderedAmount ();
37 * Setter for item amount
39 * @param amount the amount to set
41 void setOrderedAmount (final Long amount);
44 * Getter for entry id (from database backend)
51 * Setter for entry id (from database backend)
53 * @param id the id to set
55 void setItemId (final Long id);
58 * Getter for item type
62 String getItemType ();
65 * Setter for item type
67 * @param type the type to set
69 void setItemType (final String type);
72 * Getter for product instance
76 Product getItemProduct ();
79 * Setter for product instance
81 * @param product the product to set
83 void setItemProduct (final Product product);
86 * Determines whether the item has a Product instance set
88 * @return Whether a Product instance is set
90 boolean isProductType ();
93 boolean equals (final Object object);