|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.mckoi.database.JoiningSet
public final class JoiningSet
Used in TableSet to describe how we naturally join the tables together. This is used when the TableSet has evaluated the search condition and it is required for any straggling tables to be naturally joined. In SQL, these joining types are specified in the FROM clause.
For example,
FROM table_a LEFT OUTER JOIN table_b ON ( table_a.id = table_b.id ), ...
A ',' should donate an INNER_JOIN in an SQL FROM clause.
Nested Class Summary | |
---|---|
static class |
JoiningSet.JoinPart
|
Field Summary | |
---|---|
static int |
FULL_OUTER_JOIN
|
static int |
INNER_JOIN
Statics for Join Types. |
static int |
LEFT_OUTER_JOIN
|
static int |
RIGHT_OUTER_JOIN
|
Constructor Summary | |
---|---|
JoiningSet()
Constructs the JoiningSet. |
Method Summary | |
---|---|
void |
addJoin(int type)
Adds a joining type to the set with no 'on' expression. |
void |
addJoin(int type,
Expression on_expression)
Adds a joining type to the set, and an 'on' expression. |
void |
addPreviousJoin(int type,
Expression on_expression)
Hack, add a joining type to the previous entry from the end. |
void |
addTable(TableName table_name)
Adds a new table into the set being joined. |
java.lang.Object |
clone()
Performs a deep clone on this object. |
TableName |
getFirstTable()
Returns the first table in the join set. |
int |
getJoinType(int n)
Returns the type of join after table 'n' in the set. |
Expression |
getOnExpression(int n)
Returns the ON Expression for the type of join after table 'n' in the set. |
TableName |
getTable(int n)
Returns table 'n' in the result set where table 0 is the first table in the join set. |
int |
getTableCount()
Returns the number of tables that are in this set. |
void |
prepare(DatabaseConnection connection)
Resolves the schema of tables in this joining set. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int INNER_JOIN
public static final int LEFT_OUTER_JOIN
public static final int RIGHT_OUTER_JOIN
public static final int FULL_OUTER_JOIN
Constructor Detail |
---|
public JoiningSet()
Method Detail |
---|
public void prepare(DatabaseConnection connection)
public void addTable(TableName table_name)
public void addPreviousJoin(int type, Expression on_expression)
public void addJoin(int type, Expression on_expression)
public void addJoin(int type)
public int getTableCount()
public TableName getFirstTable()
public TableName getTable(int n)
public int getJoinType(int n)
String table1 = joins.getFirstTable(); for (int i = 0; i < joins.getTableCount() - 1; ++i) { int type = joins.getJoinType(i); String table2 = getTable(i + 1); // ... Join table1 and table2 ... table1 = table2; }
public Expression getOnExpression(int n)
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |