public abstract class JoinType extends Object
RowLink
objects) are used to select rows for inclusion
in an output table which represents the result of the matching operation.
This corresponds to the type of the join in database terminology, though
the naming of the instances of this class do not follow that
terminology (left outer join etc), and the options here present a more
complete set.
Instances of this class are available as public static members of it. Currently, these instances should only be used with the results of pair matches (ones involving exactly two tables).
Modifier and Type | Field and Description |
---|---|
static JoinType |
_1AND2
Selects only rows with input from both input tables.
|
static JoinType |
_1NOT2
Selects only rows in the first input table which are not matched
by any row in the second input table.
|
static JoinType |
_1OR2
Selects rows with input from either or both input tables.
|
static JoinType |
_1XOR2
Selects only rows with input from exactly one of the two input
tables.
|
static JoinType |
_2NOT1
Selects only rows in the second input table which are not matched
by any row in the first input table.
|
static JoinType |
_ALL1
Selects all output rows with input from the first input table.
|
static JoinType |
_ALL2
Selects all output rows with input from the second input table.
|
Modifier and Type | Method and Description |
---|---|
abstract String |
getDescription()
Returns a short textual description of this type.
|
String |
getName()
Returns the name of this type.
|
static JoinType[] |
getPairTypes()
Returns a list of all the known types which apply to two-table matches.
|
abstract boolean |
getUsedMatchFlag()
Returns a value which indicates whether the matchScore is ever
non-empty in the output table.
|
abstract boolean[] |
getUsedTableFlags()
Returns an array of flags indicating whether each of the tables in
the input will ever have non-empty rows in the output.
|
abstract LinkSet |
processLinks(LinkSet links,
int[] rowCounts)
Turns a set of links which represent matches from the matching
operation into a set of links which represent the rows to output.
|
String |
toString()
Returns the name of this type.
|
public static final JoinType _1AND2
public static final JoinType _1OR2
public static final JoinType _ALL1
public static final JoinType _ALL2
public static final JoinType _2NOT1
public static final JoinType _1NOT2
public static final JoinType _1XOR2
public abstract LinkSet processLinks(LinkSet links, int[] rowCounts)
links
is a set of RowLink
objects;
if the matching operation was between two tables, each element
will represent a pair match (have two RowRef
s,
with table indices of 0 and 1 respectively).
The ordering of links
may influence the order of
the returned collection. links
may be modified
by this method, and the returned value may or may not be the
same object as the input links
itself.links
- set of RowLinks representing actual matchesrowCounts
- numbers of rows in the tables on which the
match was performedpublic abstract boolean[] getUsedTableFlags()
public abstract boolean getUsedMatchFlag()
public String getName()
public abstract String getDescription()
public String toString()
public static JoinType[] getPairTypes()
Copyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.