parent
6ff2fdfd95
commit
6dddd3bdcf
@ -0,0 +1,7 @@
|
||||
package data;
|
||||
|
||||
import model.Shop;
|
||||
|
||||
interface Loadable {
|
||||
Shop load();
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package data;
|
||||
|
||||
import model.*;
|
||||
|
||||
public class Stub implements Loadable {
|
||||
|
||||
@Override
|
||||
public Shop load() {
|
||||
Shop shop = new Shop();
|
||||
|
||||
Garment p1 = new Garment("shirt", 15.9);
|
||||
p1.addAllSizes();
|
||||
|
||||
Garment p2 = new Garment("sweater", 34.9);
|
||||
p1.addSize(Size.valueOf("XXL"));
|
||||
p1.addSize(Size.valueOf("XXS"));
|
||||
p1.addSize(Size.valueOf("XS"));
|
||||
|
||||
Perfume p3 = new Perfume("spiderman", 89.9);
|
||||
p3.addSmell("woody");
|
||||
p3.addSmell("musky");
|
||||
|
||||
Perfume p4 = new Perfume("boring", 143.9);
|
||||
p3.addSmell("flowery");
|
||||
p3.addSmell("acidic");
|
||||
|
||||
shop.addProduct(p1);
|
||||
shop.addProduct(p2);
|
||||
shop.addProduct(p3);
|
||||
shop.addProduct(p4);
|
||||
|
||||
return shop;
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class Garment extends Product {
|
||||
|
||||
// private List<Color> colors = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* if there are 3 shirts in M, the list will contain M, M, M
|
||||
*/
|
||||
private final List<Size> sizes = new ArrayList<>();
|
||||
|
||||
public Garment(String name, double price) {
|
||||
super(name, price);
|
||||
}
|
||||
|
||||
public void addSize(Size size) {
|
||||
sizes.add(size);
|
||||
}
|
||||
|
||||
public void addAllSizes() {
|
||||
sizes.addAll(Arrays.asList(Size.values()));
|
||||
}
|
||||
|
||||
|
||||
public List<Size> getSizes() {
|
||||
return Collections.unmodifiableList(sizes);
|
||||
}
|
||||
|
||||
public void removeSize(Size size) {
|
||||
sizes.remove(size);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,27 @@
|
||||
package model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class Perfume extends Product {
|
||||
|
||||
private final List<String> smells = new ArrayList<>();
|
||||
|
||||
public Perfume(String name, double price) {
|
||||
super(name, price);
|
||||
}
|
||||
|
||||
public void addSmell(String smell) {
|
||||
smells.add(smell);
|
||||
}
|
||||
|
||||
public List<String> getSmells() {
|
||||
return Collections.unmodifiableList(smells);
|
||||
}
|
||||
|
||||
public void removeSmell(String smell) {
|
||||
smells.remove(smell);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package model;
|
||||
|
||||
public abstract class Product {
|
||||
|
||||
private String name;
|
||||
|
||||
private double price;
|
||||
|
||||
public Product(String name, double price) {
|
||||
this.name = name;
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public double getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(float price) {
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class Shop {
|
||||
|
||||
private final List<Product> products = new ArrayList<>();
|
||||
|
||||
public void addProduct(Product product) {
|
||||
products.add(product);
|
||||
}
|
||||
|
||||
public List<Product> getProducts() {
|
||||
return Collections.unmodifiableList(products);
|
||||
}
|
||||
|
||||
public void removeProduct(Product product) {
|
||||
products.remove(product);
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package model;
|
||||
|
||||
/**
|
||||
* XXS to XXL
|
||||
*/
|
||||
public enum Size {
|
||||
XXS,
|
||||
XS,
|
||||
S,
|
||||
M,
|
||||
L,
|
||||
XL,
|
||||
XXL
|
||||
}
|
Loading…
Reference in new issue