package edu.harvard.wcfia.yoshikoder.dictionary; import java.io.File; import java.io.Serializable; import java.util.regex.PatternSyntaxException; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; import edu.harvard.wcfia.yoshikoder.concordance.Concordance; import edu.harvard.wcfia.yoshikoder.document.tokenizer.TokenList; public interface YKDictionary extends TreeModel, Serializable{ public String getName(); public void setName(String name); public File getLocation(); public void setLocation(File f); //public int getWindowSize(); //public void setWindowSize(int winsize); public PatternEngine getPatternEngine(); public void setPatternEngine(PatternEngine engine); public void addCategory(CategoryNode cat, CategoryNode parent) throws DuplicateException; public void addCategory(String name, Double score, String desc, CategoryNode parent) throws DuplicateException; public void addPattern(String name, Double score, CategoryNode parent) throws PatternSyntaxException, DuplicateException; public void addPattern(PatternNode pattern, CategoryNode parent) throws DuplicateException; public void remove(Node node); public void replace(Node cat, Node repl) throws DuplicateException; // filters the token list for the ones that match the pattern public TokenList getMatchingTokens(TokenList tl, Node n); public Concordance getConcordance(TokenList tl, Node node, int wsize); public TreePath getPath(Node n); public CategoryNode getDictionaryRoot(); public void setDictionaryRoot(CategoryNode node); }