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