|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.basedb.core.DynamicJoin
class DynamicJoin
Represents a join between two virtual tables in a dynamic
query: leftTable JOIN rightTable ON columns
.
This class is used by, for example, DynamicSpotQuery.joinReporters(JoinType)
to create the Join
query element that is needed.
Field Summary | |
---|---|
private VirtualColumn[] |
columns
|
private int |
hashCode
|
private JoinType |
joinType
|
private VirtualTable |
left
|
private VirtualTable |
right
|
private VirtualDb |
vdb
|
Constructor Summary | |
---|---|
DynamicJoin(VirtualDb vdb,
JoinType joinType,
VirtualTable right,
VirtualColumn... columns)
Create a new join using the root entity table as the left table. |
|
DynamicJoin(VirtualDb vdb,
JoinType joinType,
VirtualTable left,
VirtualTable right,
VirtualColumn... columns)
Create a new join between two tables. |
Method Summary | |
---|---|
boolean |
equals(Object other)
This join is equal to another DynamicJoin if they join between the same tables using the same columns and join types. |
Collection<? extends QueryElement> |
getChildren()
Get the children of this query element or null if it has no children. |
String |
getThetaJoin(Query query,
DbControl dc)
|
String |
getThetaJoinCondition(Query query,
DbControl dc)
|
int |
hashCode()
|
String |
toQl(Query query,
DbControl dc)
Create a query language string of the query element. |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private final VirtualDb vdb
private final JoinType joinType
private final VirtualTable left
private final VirtualTable right
private final VirtualColumn[] columns
private int hashCode
Constructor Detail |
---|
DynamicJoin(VirtualDb vdb, JoinType joinType, VirtualTable right, VirtualColumn... columns)
SELECT ... FROM rootTable JOIN right ON columns
.
vdb
- The virtual database where the joined table is locatedjoinType
- The type of joinright
- The table to join tocolumns
- The columns to join on, all columns must exists in
the root table and the joined tableDynamicJoin(VirtualDb vdb, JoinType joinType, VirtualTable left, VirtualTable right, VirtualColumn... columns)
SELECT ... FROM rootTable ... JOIN left ... JOIN right ON columns
vdb
- The virtual database where the joined table is locatedjoinType
- The type of joinleft
- The table to join fromright
- The table to join tocolumns
- The columns to join on, all columns must exists in
the left table and the right tableMethod Detail |
---|
public String toQl(Query query, DbControl dc) throws BaseException
QueryElement
Query.getQueryType()
method to find out which query language is wanted
in case the element requires different syntax for different languages.
toQl
in interface QueryElement
query
- The query that is about to be executeddc
- The DbControl
object used to execute the query
BaseException
- If there is any other errorpublic Collection<? extends QueryElement> getChildren()
QueryElement
AddExpression
has two children, the expression
beeing added.
getChildren
in interface QueryElement
public String getThetaJoin(Query query, DbControl dc) throws BaseException
getThetaJoin
in interface Join
BaseException
public String getThetaJoinCondition(Query query, DbControl dc) throws BaseException
getThetaJoinCondition
in interface Join
BaseException
public String toString()
toString
in class Object
public boolean equals(Object other)
equals
in class Object
public int hashCode()
hashCode
in class Object
|
2.17.2: 2011-06-17 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |