package edu.stanford.nlp.patterns; import edu.stanford.nlp.ling.CoreAnnotations; import edu.stanford.nlp.ling.CoreLabel; import edu.stanford.nlp.patterns.dep.DataInstanceDep; import edu.stanford.nlp.patterns.surface.DataInstanceSurface; import edu.stanford.nlp.util.CoreMap; import java.io.Serializable; import java.util.List; /** It's a list of Corelabels for SurfacePattern, Dependency parse for DepPattern etc * Created by sonalg on 11/1/14. */ public abstract class DataInstance implements Serializable { abstract public List<CoreLabel> getTokens(); public static DataInstance getNewSurfaceInstance(List<CoreLabel> tokens){ return new DataInstanceSurface(tokens); } public static DataInstance getNewInstance(PatternFactory.PatternType type, CoreMap s){ if(type.equals(PatternFactory.PatternType.SURFACE)) return new DataInstanceSurface(s.get(CoreAnnotations.TokensAnnotation.class)); else if(type.equals(PatternFactory.PatternType.DEP)) return new DataInstanceDep(s); else throw new UnsupportedOperationException(); } }