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