public class MatcherBuilder
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
protected static class |
MatcherBuilder.MatcherLinker |
protected static class |
MatcherBuilder.TreeNode |
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<Matcher,Matcher> |
cloneMap |
protected java.util.concurrent.atomic.AtomicInteger |
idGen |
protected java.util.Map<SearchNode,java.lang.Integer> |
idMap |
protected MatcherBuilder.MatcherLinker |
linker |
protected java.util.Map<MatcherBuilder.TreeNode,Matcher> |
matcherMap |
protected java.util.Map<SearchNode,java.util.List<Matcher>> |
nodeMap |
protected Matcher |
rootMatcher |
protected Search |
search |
Constructor and Description |
---|
MatcherBuilder(Search search) |
protected final Search search
protected java.util.Map<MatcherBuilder.TreeNode,Matcher> matcherMap
protected java.util.Map<SearchNode,java.lang.Integer> idMap
protected java.util.Map<SearchNode,java.util.List<Matcher>> nodeMap
protected java.util.concurrent.atomic.AtomicInteger idGen
protected Matcher rootMatcher
protected MatcherBuilder.MatcherLinker linker
public MatcherBuilder(Search search)
protected MatcherBuilder.MatcherLinker getLinker()
public Matcher createRootMatcher()
protected Matcher createSimpleRootMatcher(java.util.List<MatcherBuilder.TreeNode> roots, boolean isDisjunction)
protected Matcher createProxyRootMatcher(java.util.List<MatcherBuilder.TreeNode> negatedRoots, boolean isDisjunction, Matcher unnegatedRootMatcher)
protected MatcherBuilder.TreeNode createTree0(MatcherBuilder.TreeNode parent, SearchNode node, SearchEdge head)
protected void optimizeTree(MatcherBuilder.TreeNode tree)
protected void invert(java.util.Collection<MatcherBuilder.TreeNode> nodes)
protected MatcherBuilder.TreeNode linkAlternates(java.util.List<MatcherBuilder.TreeNode> alternates)
protected Matcher linkMatcher0(MatcherBuilder.TreeNode tree)
protected Matcher createMatcher0(Matcher parent, MatcherBuilder.TreeNode treeNode, boolean exclusionMember)
protected void resolvePrecedenceEdge(SearchEdge edge)
protected int getId(SearchNode node)
protected Matcher.PrecedenceNode[] clonePrecedenceNodes(Matcher.PrecedenceNode[] nodes)