package de.westnordost.streetcomplete.data.osm.changes;
import java.util.Map;
public class StringMapEntryModify implements StringMapEntryChange
{
public String key;
public String valueBefore;
public String value;
public StringMapEntryModify(String key, String valueBefore, String value)
{
this.key = key;
this.valueBefore = valueBefore;
this.value = value;
}
@Override public String toString()
{
return "MODIFY \"" + key + "\"=\"" + valueBefore + "\" -> \"" + key + "\"=\"" + value + "\"";
}
@Override public void applyTo(Map<String, String> map)
{
map.put(key, value);
}
@Override public boolean conflictsWith(Map<String, String> map)
{
return !map.containsKey(key) || !map.get(key).equals(valueBefore);
}
@Override public boolean equals(Object other)
{
if(other == null || !(other instanceof StringMapEntryModify)) return false;
StringMapEntryModify o = (StringMapEntryModify) other;
return key.equals(o.key) && valueBefore.equals(o.valueBefore) && value.equals(o.value);
}
}