package edu.stanford.nlp.trees.international.pennchinese;
import edu.stanford.nlp.trees.GrammaticalStructureFactory;
import edu.stanford.nlp.trees.HeadFinder;
import edu.stanford.nlp.trees.Tree;
import java.util.function.Predicate;
public class UniversalChineseGrammaticalStructureFactory implements GrammaticalStructureFactory {
private final Predicate<String> puncFilter;
private final HeadFinder hf;
public UniversalChineseGrammaticalStructureFactory() {
this(null, null);
}
public UniversalChineseGrammaticalStructureFactory(Predicate<String> puncFilter) {
this(puncFilter, null);
}
public UniversalChineseGrammaticalStructureFactory(Predicate<String> puncFilter, HeadFinder hf) {
this.puncFilter = puncFilter;
this.hf = hf;
}
@Override
public UniversalChineseGrammaticalStructure newGrammaticalStructure(Tree t) {
if (puncFilter == null && hf == null) {
return new UniversalChineseGrammaticalStructure(t);
} else if (hf == null) {
return new UniversalChineseGrammaticalStructure(t, puncFilter);
} else {
return new UniversalChineseGrammaticalStructure(t, puncFilter, hf);
}
}
}