001 package org.maltparser.core.feature.function;
002
003 import org.maltparser.core.exception.MaltChainedException;
004 import org.maltparser.core.feature.value.FeatureValue;
005 import org.maltparser.core.symbol.SymbolTable;
006 /**
007 *
008 *
009 * @author Johan Hall
010 */
011 public interface FeatureFunction extends Function {
012 /**
013 * Cause the feature function to update the cardinality of the feature value.
014 *
015 * @throws MaltChainedException
016 */
017 public abstract void updateCardinality() throws MaltChainedException;
018 /**
019 * Returns the string representation of the integer <code>code</code> according to the feature function.
020 *
021 * @param code the integer representation of the symbol
022 * @return the string representation of the integer <code>code</code> according to the feature function.
023 * @throws MaltChainedException
024 */
025 public abstract String getSymbol(int code) throws MaltChainedException;
026 /**
027 * Returns the integer representation of the string <code>symbol</code> according to the feature function.
028 *
029 * @param symbol the string representation of the symbol
030 * @return the integer representation of the string <code>symbol</code> according to the feature function.
031 * @throws MaltChainedException
032 */
033 public abstract int getCode(String symbol) throws MaltChainedException;
034 /**
035 * Returns the symbol table used by the feature function.
036 *
037 * @return the symbol table used by the feature function.
038 */
039 public abstract SymbolTable getSymbolTable();
040 /**
041 * Returns the feature value
042 *
043 * @return the feature value
044 */
045 public abstract FeatureValue getFeatureValue();
046 }