Alexis Drai 3 years ago
parent 0465ee3148
commit 0ce049eed0

@ -1,14 +1,11 @@
package model; package model;
import data.Stub;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport; import java.beans.PropertyChangeSupport;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.UUID;
public class Shop implements Serializable { public class Shop implements Serializable {
public static final String PROP_SHOP_ADD = "model.shop.addProduct"; public static final String PROP_SHOP_ADD = "model.shop.addProduct";
@ -17,29 +14,24 @@ public class Shop implements Serializable {
private final List<Product> products = new ArrayList<>(); private final List<Product> products = new ArrayList<>();
public void addProduct(Product product) { public void addProduct(Product product) {
int index = 0;
products.add(0, product); products.add(index, product);
getSupport().fireIndexedPropertyChange( getSupport().fireIndexedPropertyChange(PROP_SHOP_ADD,
PROP_SHOP_ADD, index,
0, getProducts().size() > index + 1 ? getProducts().get(index + 1) : null,
products.size() > 1 ? products.get(1) : null, getProducts().get(index));
product
);
System.out.println("added " + product.getName() + " ($" + product.getPrice() + ")");
} }
public void removeProduct(Product product) { public void removeProduct(Product toRemove) {
System.out.println("removed " + product.getName() + " ($" + product.getPrice() + ")"); int index = products.indexOf(toRemove);
int index = products.indexOf(product); if (index > -1) {
if (index != -1){ products.remove(index);
products.remove(product); getSupport().fireIndexedPropertyChange(PROP_SHOP_RMV,
getSupport().fireIndexedPropertyChange(
PROP_SHOP_RMV,
index, index,
product, toRemove,
products.get(index) getProducts().size() >= index + 1 ? getProducts().get(index) : null);
);
} }
} }
@ -48,7 +40,6 @@ public class Shop implements Serializable {
return Collections.unmodifiableList(products); return Collections.unmodifiableList(products);
} }
private transient PropertyChangeSupport support; private transient PropertyChangeSupport support;
private PropertyChangeSupport getSupport() { private PropertyChangeSupport getSupport() {

Loading…
Cancel
Save