package org.erlide.project.buildpath;
import java.util.Map;
import java.util.Set;
import org.eclipse.xtext.util.Pair;
import com.google.common.collect.Maps;
public class BuildpathAttributes {
private final Map<String, String> map;
public BuildpathAttributes() {
map = Maps.newHashMap();
}
public BuildpathAttributes(final String... strings) {
this();
for (int i = 0; i < strings.length; i += 2) {
map.put(strings[i], strings[i + 1]);
}
}
public BuildpathAttributes(final Pair<String, String>... pairs) {
this();
for (final Pair<String, String> p : pairs) {
map.put(p.getFirst(), p.getSecond());
}
}
public int size() {
return map.size();
}
public boolean isEmpty() {
return map.isEmpty();
}
public boolean containsKey(final String key) {
return map.containsKey(key);
}
public String get(final String key) {
return map.get(key);
}
public String put(final String key, final String value) {
if (key == null || value == null) {
throw new IllegalArgumentException(
"Buildpath attributes can't have null values");
}
return map.put(key, value);
}
public String remove(final String key) {
return map.remove(key);
}
public void clear() {
map.clear();
}
public Set<String> allKeys() {
return map.keySet();
}
public Set<Map.Entry<String, String>> allEntries() {
return map.entrySet();
}
}