
com.automationrockstars.gir.data.impl.MapTestDataRecord Maven / Gradle / Ivy
The newest version!
/*
*
*/
package com.automationrockstars.gir.data.impl;
import com.automationrockstars.gir.data.TestDataRecord;
import com.google.common.base.Joiner;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class MapTestDataRecord implements TestDataRecord {
private final Map data;
public MapTestDataRecord(Map data) {
this.data = data;
}
public static MapTestDataRecord empty() {
return new MapTestDataRecord(new HashMap());
}
@SuppressWarnings("unchecked")
@Override
public T get(String name) {
return (T) data.get(name);
}
@Override
public Map toMap() {
return Collections.unmodifiableMap(data);
}
public boolean equals(Object o) {
if (o instanceof TestDataRecord) {
return this.toMap().equals(((TestDataRecord) o).toMap());
}
return false;
}
public String toString() {
return Joiner.on("\n").withKeyValueSeparator(": ").join(data);
}
@SuppressWarnings("unchecked")
@Override
public C modify(String name, Object value) {
data.put(name, value);
return (C) this;
}
@SuppressWarnings("unchecked")
@Override
public C modify(C original) {
for (String key : original.toMap().keySet()) {
data.put(key, original.get(key));
}
return (C) this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy