package src.fr.impl.Parts; import java.util.HashMap; import java.util.HashSet; import java.util.Set; import src.fr.api.PartType; import src.fr.impl.PartImpl; public class Exterior extends PartImpl { private static final HashMap prices; static { prices = new HashMap<>(); prices.put("XC",0); prices.put("XM",800); prices.put("XS",10000); } private static final Set colorSet; static { colorSet = new HashSet<>(); colorSet.add("white"); colorSet.add("green"); colorSet.add("red"); colorSet.add("blue"); colorSet.add("green"); colorSet.add("gray"); } private String color; /*public Exterior(String name, CategoryImpl category, int price){ super(new PartTypeImpl(name,Engine.class, category),price); Set l = new HashSet(); l.add("red"); this.addProperty("color", () -> getColor(), c -> setColor(c), colorSet); }*/ public Exterior(){ this.addProperty("color", () -> getColor(), c -> setColor(c), colorSet); } public String getColor(){ return this.color; } public void setColor(String newColor){ this.color = newColor; } @Override public void setType(PartType type){ this.type = type; this.price = prices.get(type.getName()); } }