    001    package org.maltparser.core.syntaxgraph;
    002
    003    import org.maltparser.core.exception.MaltChainedException;
    004    import org.maltparser.core.symbol.SymbolTableHandler;
    005    /**
    006    *
    007    *
    008    * @author Johan Hall
    009    */
    010    public 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    }