001package org.maltparser.core.syntaxgraph.edge; 002 003import org.maltparser.core.exception.MaltChainedException; 004import org.maltparser.core.syntaxgraph.Element; 005import org.maltparser.core.syntaxgraph.node.Node; 006/** 007* 008* 009* @author Johan Hall 010*/ 011public interface Edge extends Element { 012 public static final int DEPENDENCY_EDGE = 1; 013 public static final int PHRASE_STRUCTURE_EDGE = 2; 014 public static final int SECONDARY_EDGE = 3; 015 016 /** 017 * Sets the edge with a source node, a target node and a type (DEPENDENCY_EDGE, PHRASE_STRUCTURE_EDGE 018 * or SECONDARY_EDGE). 019 * 020 * @param source a source node 021 * @param target a target node 022 * @param type a type (DEPENDENCY_EDGE, PHRASE_STRUCTURE_EDGE or SECONDARY_EDGE) 023 * @throws MaltChainedException 024 */ 025 public void setEdge(Node source, Node target, int type) throws MaltChainedException; 026 /** 027 * Returns the source node of the edge. 028 * 029 * @return the source node of the edge. 030 */ 031 public Node getSource(); 032 /** 033 * Returns the target node of the edge. 034 * 035 * @return the target node of the edge. 036 */ 037 public Node getTarget(); 038 /** 039 * Returns the edge type (DEPENDENCY_EDGE, PHRASE_STRUCTURE_EDGE or SECONDARY_EDGE). 040 * 041 * @return the edge type (DEPENDENCY_EDGE, PHRASE_STRUCTURE_EDGE or SECONDARY_EDGE). 042 */ 043 public int getType(); 044}