/** * Copyright (c) 2015 Camil Staps * See the LICENSE file for copying permission. */ package com.camilstaps.shop; import java.io.Serializable; import java.util.HashSet; import java.util.Set; /** * A Cart holds the articles a User is planning to buy. * @author Camil Staps, s4498062 */ public class Cart implements Serializable { private final Set
articles = new HashSet<>(); public Set
getArticles() { return articles; } /** * Get the total price of all articles * @return */ public float getTotalAmount() { float result = 0; for (Article a : articles) { result += a.getPrice(); } return result; } /** * Add a new article * @param article */ public void add(Article article) { Database.getInstance().removeItem(article); articles.add(article); } /** * Remove an article (and put it back in the database) * @param article */ public void remove(Article article) { articles.remove(article); try { Database.getInstance().addItem(article); } catch (DuplicateEntryException ex) { } } /** * Remove all articles in the manner of remove() * @see self#remove */ public void reset() { for (Article a : articles) { remove(a); } } }