package org.maltparser.core.syntaxgraph; import java.util.SortedSet; import org.maltparser.core.exception.MaltChainedException; import org.maltparser.core.syntaxgraph.node.TokenNode; /** * * * @author Johan Hall */ public interface TokenStructure extends Structure, LabeledStructure { /** * Adds a token node with index <i>n + 1</i>, where <i>n</i> is the index of * the last token node. * * @return the added token node. * @throws MaltChainedException */ public TokenNode addTokenNode() throws MaltChainedException; /** * Adds a token node with index <i>index</i>. * * @param index the index of the token node. * @return the added token node. */ public TokenNode addTokenNode(int index) throws MaltChainedException; /** * Returns the token node with index <i>index</i>. * * @param index the index of the token node. * @return a token node with index <i>index</i>. * @throws MaltChainedException */ public TokenNode getTokenNode(int index); /** * Returns the number of token nodes in the token structure (sentence). * * @return the number of token nodes in the token structure (sentence). */ public int nTokenNode(); /** * Returns a sorted set of integers {s,...,n}, where each index i identifies * a token node. Index <i>s</i> is the first token node and index <i>n</i> * is the last token node. * * @return a sorted set of integers {s,...,n}. */ public SortedSet<Integer> getTokenIndices(); /** * Returns the index of the last token node. * * @return the index of the last token node. */ public int getHighestTokenIndex(); /** * Returns <i>true</i> if the token structure (sentence) has any token * nodes, otherwise <i>false</i>. * * @return <i>true</i> if the token structure (sentence) has any token * nodes, otherwise <i>false</i>. */ public boolean hasTokens(); /** * Returns the sentence ID * * @return the sentence ID */ public int getSentenceID(); /** * Sets the sentence ID * * @param sentenceID a sentence ID */ public void setSentenceID(int sentenceID); }