001 package org.maltparser.core.syntaxgraph; 002 003 import java.util.SortedSet; 004 005 import org.maltparser.core.exception.MaltChainedException; 006 import org.maltparser.core.syntaxgraph.node.TokenNode; 007 008 /** 009 * 010 * 011 * @author Johan Hall 012 */ 013 public interface TokenStructure extends Structure, LabeledStructure { 014 /** 015 * Adds a token node with index <i>n + 1</i>, where <i>n</i> is the index of the last token node. 016 * 017 * @return the added token node. 018 * @throws MaltChainedException 019 */ 020 public TokenNode addTokenNode() throws MaltChainedException; 021 /** 022 * Adds a token node with index <i>index</i>. 023 * 024 * @param index the index of the token node. 025 * @return the added token node. 026 */ 027 public TokenNode addTokenNode(int index) throws MaltChainedException; 028 /** 029 * Returns the token node with index <i>index</i>. 030 * 031 * @param index the index of the token node. 032 * @return a token node with index <i>index</i>. 033 * @throws MaltChainedException 034 */ 035 public TokenNode getTokenNode(int index); 036 /** 037 * Returns the number of token nodes in the token structure (sentence). 038 * 039 * @return the number of token nodes in the token structure (sentence). 040 */ 041 public int nTokenNode(); 042 /** 043 * Returns a sorted set of integers {s,...,n}, where each index i identifies a token node. Index <i>s</i> 044 * is the first token node and index <i>n</i> is the last token node. 045 * 046 * @return a sorted set of integers {s,...,n}. 047 */ 048 public SortedSet<Integer> getTokenIndices(); 049 /** 050 * Returns the index of the last token node. 051 * 052 * @return the index of the last token node. 053 */ 054 public int getHighestTokenIndex(); 055 /** 056 * Returns <i>true</i> if the token structure (sentence) has any token nodes, otherwise <i>false</i>. 057 * 058 * @return <i>true</i> if the token structure (sentence) has any token nodes, otherwise <i>false</i>. 059 */ 060 public boolean hasTokens(); 061 /** 062 * Returns the sentence ID 063 * 064 * @return the sentence ID 065 */ 066 public int getSentenceID(); 067 /** 068 * Sets the sentence ID 069 * 070 * @param sentenceID a sentence ID 071 */ 072 public void setSentenceID(int sentenceID); 073 }