package jp.vmi.selenium.selenese.utils;
import java.util.Map.Entry;
/**
* Key-value object.
*/
public class KeyValue implements Entry<String, String> {
private final String key;
private final String value;
/**
* Parse {@code key=value} string.
*
* @param pair {@code key=value} string or {@code value} string.
* @param defaultKey default key if pair is {@code value} string.
* @return key-value object.
*/
public static KeyValue parse(String pair, String defaultKey) {
int index = pair.indexOf('=');
String key, value;
if (index > 0) {
key = pair.substring(0, index);
value = pair.substring(index + 1);
} else {
key = defaultKey;
value = pair;
}
return new KeyValue(key, value);
}
/**
* Constructor.
* @param key key.
* @param value value.
*/
public KeyValue(String key, String value) {
this.key = key;
this.value = value;
}
@Override
public String getKey() {
return key;
}
@Override
public String getValue() {
return value;
}
@Override
public String setValue(String value) {
throw new UnsupportedOperationException("This object is immutable");
}
}