package clear.dep.feat;
import clear.dep.DepLib;
import com.carrotsearch.hppc.ObjectIntOpenHashMap;
public class FeatEnglish extends AbstractFeat {
// vo=voice, ca=case, vn=verbnet
static public final String[] STR_TITLES = {"vo", "vn", "ct"};
static public final ObjectIntOpenHashMap<String> MAP_TITLES = new ObjectIntOpenHashMap<String>() {
{
for (int i = 0; i < STR_TITLES.length; i++) {
put(STR_TITLES[i], i);
}
}
};
public FeatEnglish() {
this.feats = new String[STR_TITLES.length];
}
public FeatEnglish(String feats) {
this.feats = new String[STR_TITLES.length];
set(feats);
}
@Override
public void set(String feats) {
for (String feat : feats.split("\\|")) {
String key = feat.split("=")[0];
if (MAP_TITLES.containsKey(key)) {
this.feats[MAP_TITLES.get(key)] = feat.substring(key.length() + 1);
}
}
}
@Override
public String toString() {
StringBuilder build = new StringBuilder();
for (int i = 0; i < STR_TITLES.length; i++) {
if (feats[i] != null) {
build.append("|");
build.append(STR_TITLES[i]);
build.append("=");
build.append(feats[i]);
}
}
if (build.length() == 0) {
return DepLib.FIELD_BLANK;
} else {
return build.toString().substring(1);
}
}
}