public class RowMatcher
extends java.lang.Object
MatchEngine
object, but the generic parts of
the matching algorithms are done here.
Note that since the LinkSets and other objects handled by this class may be very large when large tables are being matched, the algorithms in this class are coded carefully to use as little memory as possible. Techniques include removing items from one collection as they are added to another. This means that in many cases input values may be modified by the methods.
Constructor | Description |
---|---|
RowMatcher(MatchEngine engine,
StarTable[] tables) |
Constructs a new matcher with match characteristics defined by
a given matching engine.
|
Modifier and Type | Method | Description |
---|---|---|
LinkSet |
createLinkSet() |
Constructs a new empty LinkSet for use by this matcher.
|
LinkSet |
findGroupMatches(MultiJoinType[] joinTypes) |
Returns a list of RowLink objects corresponding to a match
performed with this matcher's tables using its match engine.
|
LinkSet |
findInternalMatches(boolean includeSingles) |
Returns a list of RowLink objects corresponding to all the internal
matches in this matcher's sole table using its match engine.
|
LinkSet |
findMultiPairMatches(int index0,
boolean bestOnly,
MultiJoinType[] joinTypes) |
Returns a set of RowLink objects each of which represents matches
between one of the rows of a reference table and any of the other tables
which can provide matches.
|
LinkSet |
findPairMatches(PairMode pairMode) |
Returns a set of RowLink objects corresponding to a pairwise match
between this matcher's two tables performed with its match engine.
|
ProgressIndicator |
getIndicator() |
Returns the current progress indicator for this matcher.
|
void |
setIndicator(ProgressIndicator indicator) |
Sets the progress indicator for this matcher.
|
public RowMatcher(MatchEngine engine, StarTable[] tables)
engine
- matching enginetables
- the array of tables on which matches are to be donepublic void setIndicator(ProgressIndicator indicator)
indicator
- new indicatorpublic ProgressIndicator getIndicator()
public LinkSet createLinkSet()
public LinkSet findPairMatches(PairMode pairMode) throws java.io.IOException, java.lang.InterruptedException
pairMode
- matching mode to determine which rows appear
in the resultjava.io.IOException
java.lang.InterruptedException
public LinkSet findMultiPairMatches(int index0, boolean bestOnly, MultiJoinType[] joinTypes) throws java.io.IOException, java.lang.InterruptedException
PairsRowLink
.index0
- index of the reference table in the list of tables
owned by this row matcherbestOnly
- true if only the best match between the reference
table and any other table should be retainedjoinTypes
- inclusion criteria for output table rowsjava.io.IOException
java.lang.InterruptedException
public LinkSet findGroupMatches(MultiJoinType[] joinTypes) throws java.io.IOException, java.lang.InterruptedException
joinTypes
- inclusion criteria for output table rowsRowLink
s corresponding to the selected rowsjava.io.IOException
java.lang.InterruptedException
public LinkSet findInternalMatches(boolean includeSingles) throws java.io.IOException, java.lang.InterruptedException
includeSingles
- whether to include unmatched (singleton)
row links in the returned link setRowLink
objects giving all the groups of
matched objects in this matcher's sole tablejava.io.IOException
java.lang.InterruptedException
Copyright © 2018 Central Laboratory of the Research Councils. All Rights Reserved.