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