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 }