/** * */ package edu.berkeley.nlp.discPCFG; /** * @author adpauls * */ public class LexiconFeature { public static enum MorphFeature { HAS_DIGIT,HAS_DASH,INIT_CAP,KNOWNLC,ALL_CAPS,LOWER_CASE,SUFF_S,SUFF_ED, SUFF_ING,SUFF_ION,SUFF_ER,SUFF_EST,SUFF_LY,SUFF_ITY, SUFF_Y,SUFF_AL,ACTUAL_WORD; } private String actualWord = null; private MorphFeature morphFeature; LexiconFeature(MorphFeature morphFeature){ this.morphFeature = morphFeature;} LexiconFeature(String actualWord) { this.actualWord = actualWord; } public boolean equals(Object o) { if (!(o instanceof LexiconFeature)) return false; LexiconFeature rhs = (LexiconFeature)o; return toString().equals(rhs.toString()); } public int hashCode() { return toString().hashCode(); } public String toString() { if (actualWord != null) return actualWord; else return "MORPH::" + morphFeature; } }