001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.mappaint.xml;
003
004import org.openstreetmap.josm.data.osm.OsmUtils;
005
006public class XmlCondition
007{
008    public String key;
009    public String value;
010    public String boolValue;
011
012    public XmlCondition()
013    {
014      init();
015    }
016    public XmlCondition(XmlCondition c)
017    {
018      key = c.key;
019      value = c.value;
020      boolValue = c.boolValue;
021    }
022    public String getKey()
023    {
024        if(value != null)
025            return "n" + key + "=" + value;
026        else if(boolValue != null)
027            return "b" + key  + "=" + OsmUtils.getNamedOsmBoolean(boolValue);
028        else
029            return "x" + key;
030    }
031    public void init()
032    {
033      key = value = boolValue = null;
034    }
035
036    public String toString()
037    {
038      return "Rule["+key+","+(boolValue != null ? "b="+boolValue:"v="+value)+"]";
039    }
040    public String toCode()
041    {
042      return "[k="+key+(boolValue != null ? ",b="+boolValue:",v="+value)+"]";
043    }
044}