|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--uk.ac.starlink.table.join.RowMatcher
Performs matching on the rows of one or more tables.
The specifics of what constitutes a matched row, and some additional
intelligence about how to determine this, are supplied by an
associated MatchEngine
object, but the generic parts of
the matching algorithms are done here.
Constructor Summary | |
RowMatcher(MatchEngine engine,
StarTable[] tables)
Constructs a new matcher with match characteristics defined by a given matching engine. |
Method Summary | |
List |
findGroupMatches(boolean[] useAll)
Returns a list of RowLink objects corresponding to a match performed with this matcher's tables using its match engine. |
List |
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. |
Map |
findPairMatches(boolean req1,
boolean req2)
Returns a set of RowLink objects corresponding to a match between this matcher's two tables performed with its match engine. |
ProgressIndicator |
getIndicator()
Returns the current progress indicator for this matcher. |
Set |
getPossibleInterLinks(int index1,
int index2,
Comparable[] min,
Comparable[] max)
Gets a list of all the pairs of rows which constitute possible links between two tables. |
void |
setIndicator(ProgressIndicator indicator)
Sets the progress indicator for this matcher. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RowMatcher(MatchEngine engine, StarTable[] tables)
engine
- matching enginetables
- the array of tables on which matches are to be doneMethod Detail |
public void setIndicator(ProgressIndicator indicator)
indicator
- new indicatorpublic ProgressIndicator getIndicator()
public Map findPairMatches(boolean req1, boolean req2) throws IOException, InterruptedException
The returned value is a RowLink->Number mapping; where the value is not null, it represents the match score corresponding to the link. Being a Map, this isn't ordered, but the natural ordering of the keys does give you a sensible ordering of rows for the output table.
req1
- whether an entry from the first table must be present
in each element of the resultreq2
- whether an entry from the second table must be present
in each element of the result
RowLink
->Number
mapping
IOException
InterruptedException
public List findGroupMatches(boolean[] useAll) throws IOException, InterruptedException
useAll
- array of booleans indicating for each table whether
all rows are to be used (otherwise just matched)
RowLink
s corresponding to the selected rows
IOException
InterruptedException
public List findInternalMatches(boolean includeSingles) throws IOException, InterruptedException
includeSingles
- whether to include unmatched (singleton)
row links in the returned link set
RowLink
objects giving all the groups of
matched objects in this matcher's sole table
IOException
InterruptedException
public Set getPossibleInterLinks(int index1, int index2, Comparable[] min, Comparable[] max) throws IOException, InterruptedException
index1
- index of the first tableindex2
- index of the second tablemin
- array of tuple elements to consider as minimum
values to consider for the match.
If one of the elements, or min itself,
is null, no minimum is considered to be in effectmax
- array of tuple elements to consider as maximum
values to consider for the match.
If one of the elements, or max itself,
is null, no maximum is considered to be in effect
RowLink
objects which constitute possible
matches
IOException
InterruptedException
|
Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |