public class MultiPatternMatcher<T> extends Object
Modifier and Type | Class and Description |
---|---|
static class |
MultiPatternMatcher.BasicSequencePatternTrigger<T>
Simple SequencePatternTrigger that looks at each node, and identifies which
patterns may potentially match each node, and then aggregates (union)
all these patterns together.
|
static interface |
MultiPatternMatcher.NodePatternTrigger<T>
A function which returns a collections of patterns that may match when
given a single node from a larger sequence.
|
static interface |
MultiPatternMatcher.SequencePatternTrigger<T>
A function which returns a collections of patterns that may match when
a sequence of nodes.
|
Constructor and Description |
---|
MultiPatternMatcher(Collection<SequencePattern<T>> patterns) |
MultiPatternMatcher(MultiPatternMatcher.SequencePatternTrigger<T> patternTrigger,
Collection<? extends SequencePattern<T>> patterns) |
MultiPatternMatcher(MultiPatternMatcher.SequencePatternTrigger<T> patternTrigger,
SequencePattern<T>... patterns) |
MultiPatternMatcher(SequencePattern<T>... patterns) |
Modifier and Type | Method and Description |
---|---|
List<SequenceMatchResult<T>> |
find(List<? extends T> elements,
SequenceMatcher.FindType findType)
Given a sequence, applies our patterns over the sequence and returns
all matches, depending on the findType.
|
Iterable<SequenceMatchResult<T>> |
findAllNonOverlappingMatchesPerPattern(List<? extends T> elements)
Given a sequence, applies each of our patterns over the sequence and returns
all non overlapping matches for each of the patterns.
|
List<SequenceMatchResult<T>> |
findNonOverlapping(List<? extends T> elements)
Given a sequence, applies our patterns over the sequence and returns
all non overlapping matches.
|
List<SequenceMatchResult<T>> |
findNonOverlapping(List<? extends T> elements,
Comparator<? super SequenceMatchResult> cmp)
Given a sequence, applies our patterns over the sequence and returns
all non overlapping matches.
|
List<SequenceMatchResult<T>> |
findNonOverlappingMaxScore(List<? extends T> elements)
Given a sequence, applies our patterns over the sequence and returns
all non overlapping matches.
|
List<SequenceMatchResult<T>> |
findNonOverlappingMaxScore(List<? extends T> elements,
java.util.function.Function<? super SequenceMatchResult,Double> scorer)
Given a sequence, applies our patterns over the sequence and returns
all non overlapping matches.
|
Collection<SequencePattern<T>> |
getTriggeredPatterns(List<? extends T> elements)
Given a sequence, return the collection of patterns that are triggered by the sequence
(these patterns are the ones that may potentially match a subsequence in the sequence)
|
public MultiPatternMatcher(MultiPatternMatcher.SequencePatternTrigger<T> patternTrigger, Collection<? extends SequencePattern<T>> patterns)
public MultiPatternMatcher(MultiPatternMatcher.SequencePatternTrigger<T> patternTrigger, SequencePattern<T>... patterns)
public MultiPatternMatcher(Collection<SequencePattern<T>> patterns)
public MultiPatternMatcher(SequencePattern<T>... patterns)
public List<SequenceMatchResult<T>> findNonOverlapping(List<? extends T> elements)
elements
- input sequence to match againstpublic List<SequenceMatchResult<T>> findNonOverlapping(List<? extends T> elements, Comparator<? super SequenceMatchResult> cmp)
elements
- input sequence to match againstcmp
- comparator indicating order that overlapped sequences should be selected.public List<SequenceMatchResult<T>> find(List<? extends T> elements, SequenceMatcher.FindType findType)
elements
- input sequence to match againstfindType
- whether FindType.FIND_ALL or FindType.FIND_NONOVERLAPPINGpublic List<SequenceMatchResult<T>> findNonOverlappingMaxScore(List<? extends T> elements)
elements
- input sequence to match againstpublic List<SequenceMatchResult<T>> findNonOverlappingMaxScore(List<? extends T> elements, java.util.function.Function<? super SequenceMatchResult,Double> scorer)
elements
- input sequence to match againstscorer
- scorer for scoring each matchpublic Iterable<SequenceMatchResult<T>> findAllNonOverlappingMatchesPerPattern(List<? extends T> elements)
elements
- input sequence to match againstpublic Collection<SequencePattern<T>> getTriggeredPatterns(List<? extends T> elements)
elements
- Input sequence