/** StartFeatures.java * * @author Sunita Sarawagi * @version 1.3 */ package iitb.Model; import iitb.CRF.DataSequence; public class StartFeatures extends FeatureTypes { /** * */ private static final long serialVersionUID = 4603152016253011064L; int stateId; int startStateNum; Object fname; public StartFeatures(FeatureGenImpl m) { super(m); fname = "S."; } public StartFeatures(FeatureGenImpl m, Object name) { super(m); fname=name; } public boolean startScanFeaturesAt(DataSequence data, int prevPos, int pos) { if (prevPos >= 0) { stateId = -1; return false; } else { startStateNum = 0; stateId = model.startState(startStateNum); return true; } } public boolean hasNext() { return (stateId >= 0); } public void next(FeatureImpl f) { setFeatureIdentifier(stateId,stateId,fname,f); f.yend = stateId; f.ystart = -1; f.val = 1; startStateNum++; stateId = model.startState(startStateNum); } };