001    // License: GPL. For details, see LICENSE file.
002    package org.openstreetmap.josm.gui.mappaint.xml;
003    
004    import org.openstreetmap.josm.data.osm.OsmUtils;
005    
006    public 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    }