package edu.stanford.nlp.trees.tregex.tsurgeon; import java.util.Map; import edu.stanford.nlp.trees.Tree; import edu.stanford.nlp.trees.tregex.TregexMatcher; /** * @author Roger Levy (rog@stanford.edu) */ class HoldTreeNode extends TsurgeonPattern { AuxiliaryTree subTree; public HoldTreeNode(AuxiliaryTree t) { super("hold", TsurgeonPattern.EMPTY_TSURGEON_PATTERN_ARRAY); this.subTree = t; } @Override public TsurgeonMatcher matcher(Map<String,Tree> newNodeNames, CoindexationGenerator coindexer) { return new Matcher(newNodeNames, coindexer); } private class Matcher extends TsurgeonMatcher { public Matcher(Map<String,Tree> newNodeNames, CoindexationGenerator coindexer) { super(HoldTreeNode.this, newNodeNames, coindexer); } @Override public Tree evaluate(Tree tree, TregexMatcher tregex) { return subTree.copy(this, tree.treeFactory(), tree.label().labelFactory()).tree; } } @Override public String toString() { return subTree.toString(); } }