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<String,Integer> prices;
     static {
          prices = new HashMap<>();
          prices.put("XC",0);
          prices.put("XM",800);
          prices.put("XS",10000);
      }

     private static final Set<String> 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<String> l = new HashSet<String>();
          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());
    }
}
