package com.abmash.core.query; import java.awt.Color; import java.util.HashMap; import java.util.Map; import com.abmash.core.color.ColorName; import com.abmash.core.color.Dominance; import com.abmash.core.color.Tolerance; public class ColorOptions { private Color color; private double tolerance; private double dominance; public ColorOptions(Color color, double tolerance, double dominance) { this.color = color; this.tolerance = tolerance; this.dominance = dominance; } public Color getColor() { return color; } public double getTolerance() { return tolerance; } public double getDominance() { return dominance; } public void setColor(Color color) { this.color = color; } public void setTolerance(double tolerance) { this.tolerance = tolerance; } public void setDominance(double dominance) { this.dominance = dominance; } public void setTolerance(Tolerance tolerance) { this.tolerance = tolerance.getValue(); } public void setDominance(Dominance dominance) { this.dominance = dominance.getValue(); } public Map<String, Integer> getColorAsRGB() { HashMap<String, Integer> colorAsRGB = new HashMap<String, Integer>(); colorAsRGB.put("red", color.getRed()); colorAsRGB.put("green", color.getGreen()); colorAsRGB.put("blue", color.getBlue()); return colorAsRGB; } public String getColorAsJSONString() { String colorString = "{"; colorString += "red:" + color.getRed() + ","; colorString += "green:" + color.getGreen() + ","; colorString += "blue:" + color.getBlue() + ","; colorString += "}"; return colorString; } public String buildCommandSelector() { String options = "{ " + (color != null ? "color: " + getColorAsJSONString() + "," : "") + (tolerance > 0 ? "tolerance: " + String.valueOf(tolerance) + "," : "") + (dominance > 0 ? "dominance:" + String.valueOf(dominance) + "," : "") + " }"; return options; } }