public String pathLabel() { if (parentEdge != null) { StringBuilder sb = new StringBuilder(parentEdge.headNode.pathLabel()); for (int i = 0; i < parentEdge.length(); i++) { sb.append(parentEdge.getChar(i)); } return sb.toString(); } else { return ""; } }
public void addEdge(TreeEdge e) { if (e.start() == e.string.length() - 1) { int key = e.string.getIndex(); if (terminalEdges.containsKey(key)) { throw new IllegalArgumentException(); } e.headNode = this; terminalEdges.put(key, e); } else { char key = e.getChar(0); if (childEdges.containsKey(key)) { throw new IllegalArgumentException(); } e.headNode = this; childEdges.put(key, e); } }