// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.JunctionChecker.reader;
import java.awt.Color;
import java.util.HashMap;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
public class ColorSchemeXMLReader extends XMLReader {
private HashMap<String, Color> colorScheme;
public ColorSchemeXMLReader(String filename) {
super(filename);
parseXML();
}
/**
* gibt die zu dieser Objektklasse gespeicherte Farbe zurück
* @param s Objektklasse
* @return die passende Farbe, existiert keine wird grey zurückgegeben
*/
public Color getColor(String s) {
if (colorScheme.containsKey(s)) {
return colorScheme.get(s);
} else {
return Color.GRAY;
}
}
@Override
public void parseXML() {
colorScheme = new HashMap<>();
String tempValue;
//String tempKeyValue ="";
try {
while (parser.hasNext()) {
switch (parser.getEventType()) {
case XMLStreamConstants.START_ELEMENT:
tempValue = parser.getAttributeValue(null, "color");
if (tempValue != null) {
String[] erg = tempValue.split(",");
Color c = new Color(Integer.parseInt(erg[0]), Integer.parseInt(erg[1]), Integer.parseInt(erg[2]));
colorScheme.put(parser.getLocalName(), c);
}
break;
}
parser.next();
}
} catch (XMLStreamException e) {
System.out.println(e);
}
}
}