001    package org.maltparser.core.symbol;
002    
003    import java.io.BufferedReader;
004    import java.io.BufferedWriter;
005    import java.util.Set;
006    
007    import org.apache.log4j.Logger;
008    import org.maltparser.core.exception.MaltChainedException;
009    import org.maltparser.core.symbol.nullvalue.NullValues.NullValueId;
010    
011    public interface SymbolTable extends Table {
012            public int addSymbol(StringBuilder symbol) throws MaltChainedException;
013            public boolean getKnown(int code);
014            public boolean getKnown(String symbol);
015            public void makeKnown(int code);
016            public Set<Integer> getCodes();
017            public void printSymbolTable(Logger logger) throws MaltChainedException;
018            public void save(BufferedWriter out) throws MaltChainedException;
019            public void load(BufferedReader in) throws MaltChainedException;
020            public int getValueCounter();
021            public int getNullValueCode(NullValueId nullValueIdentifier) throws MaltChainedException;
022            public String getNullValueSymbol(NullValueId nullValueIdentifier) throws MaltChainedException;
023            public boolean isNullValue(String value) throws MaltChainedException;
024            public boolean isNullValue(int code) throws MaltChainedException;
025            public void copy(SymbolTable fromTable) throws MaltChainedException;
026    }