// 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); } } }