]> git.mxchange.org Git - pizzaservice-war.git/commitdiff
Use more generic, because it is cool to do so! ;-)
authorRoland Haeder <roland@mxchange.org>
Mon, 24 Aug 2015 13:17:43 +0000 (15:17 +0200)
committerRoland Haeder <roland@mxchange.org>
Tue, 25 Aug 2015 08:33:00 +0000 (10:33 +0200)
Signed-off-by:Roland Häder <roland@mxchange.org>

src/java/org/mxchange/pizzaapplication/basket/BaseBasket.java
src/java/org/mxchange/pizzaapplication/basket/item/ItemBasket.java

index 953cfa7db078134ae8a083286147a34f803ab7f0..9e495f743b7fb6af0eb3a56b4b921937f63e4eec 100644 (file)
@@ -32,8 +32,9 @@ import org.mxchange.pizzaapplication.product.Product;
  * A general basket class
  *
  * @author Roland Haeder
+ * @param <T> Any instance that implements AddableBasketItem
  */
-public class BaseBasket extends BaseFrameworkSystem implements Basket<AddableBasketItem>, Serializable {
+public class BaseBasket<T extends AddableBasketItem> extends BaseFrameworkSystem implements Basket<T>, Serializable {
        /**
         * Serial number
         */
@@ -42,7 +43,7 @@ public class BaseBasket extends BaseFrameworkSystem implements Basket<AddableBas
        /**
         * Item map
         */
-       private final Map<Long, AddableBasketItem> items;
+       private final Map<Long, T> items;
 
        /**
         * Protected constructor with session instance
@@ -68,7 +69,7 @@ public class BaseBasket extends BaseFrameworkSystem implements Basket<AddableBas
        }
 
        @Override
-       public void addItem (final AddableBasketItem item) {
+       public void addItem (final T item) {
                // Trace call
                this.getLogger().trace(MessageFormat.format("item={0} - CALLED!", item)); //NOI18N
 
@@ -89,7 +90,7 @@ public class BaseBasket extends BaseFrameworkSystem implements Basket<AddableBas
        }
 
        @Override
-       public AddableBasketItem getItem (final Product product) {
+       public T getItem (final Product product) {
                // Trace message
                this.getLogger().trace(MessageFormat.format("product={0} - CALLED!", product)); //NOI18N
 
@@ -103,7 +104,7 @@ public class BaseBasket extends BaseFrameworkSystem implements Basket<AddableBas
                this.getLogger().debug("Product " + product.getTitle() +  " has id " + product.getId()); //NOI18N
 
                // Get item instance from map by product's id number (both are the same)
-               AddableBasketItem item = this.items.get(product.getId());
+               T item = this.items.get(product.getId());
 
                // Is it null?
                if (item == null) {
@@ -119,7 +120,7 @@ public class BaseBasket extends BaseFrameworkSystem implements Basket<AddableBas
        }
 
        @Override
-       public boolean isItemAdded (final AddableBasketItem item) {
+       public boolean isItemAdded (final T item) {
                // Trace call
                this.getLogger().trace(MessageFormat.format("item={0} - CALLED!", item)); //NOI18N
 
index 058e9f2b2777372cb67f39c61bf62dd81d979eb2..0519566b8cf5c8f8dbcb17d7d922f487672d09cb 100644 (file)
@@ -27,8 +27,13 @@ import org.mxchange.pizzaapplication.item.AddableBasketItem;
  * A basket for orderable items
  *
  * @author Roland Haeder
+ * @param <T> Any instance that implements AddableBasketItem
  */
-public class ItemBasket extends BaseBasket implements Basket<AddableBasketItem> {
+public class ItemBasket<T extends AddableBasketItem> extends BaseBasket<T> implements Basket<T> {
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 4384123923163957L;
 
        /**
         * Creates a singleton instance from given session's id