2 * Copyright (C) 2015 Roland Haeder
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.jshopcore.model.product.Product;
23 * An interface for addable basket items
25 * @author Roland Haeder<roland@mxchange.org>
27 public interface AddableBasketItem extends Serializable {
30 * Check equality on item instance
32 * @param object Other object to check
35 boolean equals (final Object object);
38 * Getter for item amount
42 Long getOrderedAmount ();
45 * Setter for item amount
47 * @param amount the amount to set
49 void setOrderedAmount (final Long amount);
52 * Getter for entry id (from database backend)
59 * Setter for entry id (from database backend)
61 * @param id the id to set
63 void setItemId (final Long id);
66 * Getter for item type
70 String getItemType ();
73 * Setter for item type
75 * @param type the type to set
77 void setItemType (final String type);
80 * Getter for product instance
84 Product getItemProduct ();
87 * Setter fo product instance
89 * @param product the product to set
91 void setItemProduct (final Product product);
94 * Hash-code calculattion
100 * Determines whether the item has a Product instance set
102 * @return Whether a Product instance is set
104 boolean isProductType ();