package ivory.sqe.querygenerator;
import java.util.Map;
import java.util.Set;
import tl.lin.data.map.HMapStFW;
import tl.lin.data.map.HMapStIW;
public abstract class Translation {
public static final int NBEST = 0, DERIVATION = 1;
private Map<String, HMapStFW> tok2tokDist;
private Set<String> targetTokens; // all non-stopword target tokens s.t. aligned to some source non-stopword token
private HMapStFW targetPhraseDist; // map from RHSs of rules to translation scores; there is only one RHS (equal to entire translation), if we don't have derivation info
private HMapStIW sourceTokenCnt;
private String originalQuery;
private int count;
private Map<String,String> stemMapping;
public abstract int getType();
public Map<String, String> getStemMapping() {
return stemMapping;
}
public void setStemMapping(Map<String, String> stemMapping) {
this.stemMapping = stemMapping;
}
public Set<String> getTargetTokens() {
return targetTokens;
}
public void setTargetTokens(Set<String> targetTokens) {
this.targetTokens = targetTokens;
}
public HMapStIW getSourceTokenCnt() {
return sourceTokenCnt;
}
public void setSourceTokenCnt(HMapStIW sourceTokenCnt) {
this.sourceTokenCnt = sourceTokenCnt;
}
public void setPhraseDist(HMapStFW dist) {
targetPhraseDist = dist;
}
public HMapStFW getPhraseDist() {
return targetPhraseDist;
}
public String getOriginalQuery() {
return originalQuery;
}
public void setOriginalQuery(String o) {
originalQuery = o;
}
public Map<String, HMapStFW> getTokenDist() {
return tok2tokDist;
}
public void setTokenDist(Map<String, HMapStFW> dist) {
tok2tokDist = dist;
}
public void setCount(int c) {
count = c;
}
public int getCount() {
return count;
}
public HMapStFW getDistributionOf(String srcToken) {
return tok2tokDist.get(srcToken);
}
}