001package org.maltparser.core.syntaxgraph; 002 003import org.maltparser.core.exception.MaltChainedException; 004import org.maltparser.core.symbol.SymbolTableHandler; 005/** 006* 007* 008* @author Johan Hall 009*/ 010public interface LabeledStructure { 011 /** 012 * Returns the symbol table handler. 013 * 014 * @return the symbol table handler. 015 */ 016 public SymbolTableHandler getSymbolTables(); 017 /** 018 * Sets the symbol table handler. 019 * 020 * @param symbolTables a symbol table handler. 021 */ 022 public void setSymbolTables(SymbolTableHandler symbolTables); 023 /** 024 * Adds a label <i>label</i> to the graph element <i>element</i> 025 * 026 * @param element a graph element <i>element</i> (a node or a edge). 027 * @param tableName the name of the symbol table. 028 * @param label the string value of the label. 029 * @throws MaltChainedException 030 */ 031 public void addLabel(Element element, String tableName, String label) throws MaltChainedException; 032 /** 033 * Checks out a new label set from the structure. 034 * 035 * @return a new label set. 036 * @throws MaltChainedException 037 */ 038 public LabelSet checkOutNewLabelSet() throws MaltChainedException; 039 /** 040 * Checks in a label set. 041 * 042 * @param labelSet a label set. 043 * @throws MaltChainedException 044 */ 045 public void checkInLabelSet(LabelSet labelSet) throws MaltChainedException; 046 /** 047 * Resets the structure. 048 * 049 * @throws MaltChainedException 050 */ 051 public void clear() throws MaltChainedException; 052}