package clear.dep.feat;
import com.carrotsearch.hppc.ObjectIntOpenHashMap;
public class FeatCzech extends AbstractFeat {
static public final String[] STR_TITLES = {"Cas", "Gen", "Gra", "Neg", "Num", "PGe", "PNu", "Per", "Sem", "SubPOS", "Ten", "Var", "Voi"};
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 FeatCzech(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);
}
/*
* for (int i=0; i<STR_TITLES.length; i++) { if
* (feat.startsWith(STR_TITLES[i])) { this.feats[i] =
* feat.substring(STR_TITLES[i].length()+1); break; }
}
*/
}
}
@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]);
}
}
return build.toString().substring(1);
}
}