|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.datatools.modelbase.sql.query.helper.JoinHelper
public class JoinHelper
This is a helper class that provides methods that assist in creating and manipulating SQL joins.
| Field Summary | |
|---|---|
static java.lang.String |
BOTH
|
static java.lang.String |
copyright
|
static java.lang.String |
GENERIC_BINARY
|
static java.lang.String |
GENERIC_BLOB
|
static java.lang.String |
GENERIC_CHARACTER
|
static java.lang.String |
GENERIC_DATE
|
static java.lang.String |
GENERIC_DECIMAL
|
static java.lang.String |
GENERIC_INTEGER
|
static java.lang.String |
GENERIC_OTHER
|
static java.lang.String |
GENERIC_TIME
|
static java.lang.String |
GENERIC_TIMESTAMP
|
static int |
JOIN_COL_TYPE_MISMATCH
|
static int |
JOIN_COL_USED
|
static int |
JOIN_SAME_TABLE
|
static int |
JOIN_VALID
|
static java.lang.String |
LEFT
|
static java.lang.String |
NONE
|
static java.lang.String |
RIGHT
|
| Constructor Summary | |
|---|---|
JoinHelper()
|
|
| Method Summary | |
|---|---|
static TableJoined |
addJoin(java.util.List fromClause,
TableExpression sourceTable,
TableExpression targetTable,
ValueExpressionColumn sourceColumn,
ValueExpressionColumn targetColumn,
int joinType)
Creates a new joined table or join condition containing the given join source and target objects, and updates the given FROM clause list. |
static TableJoined |
addJoinedTable(java.util.List fromClause,
TableReference joinSource,
TableReference joinTarget,
int joinType)
Creates a new joined table containing the given join source and target objects, and adds it to the given FROM clause list. |
static PredicateBasic |
buildPredicateBasic(QueryValueExpression leftExpr,
QueryValueExpression rightExpr,
java.lang.String oper)
Creates a PredicateBasic object using the given expressions and operator. |
static QuerySearchCondition |
buildSearchCondition(QuerySearchCondition currentSearchCon,
QueryValueExpression leftExpr,
QueryValueExpression rightExpr,
java.lang.String oper)
Creates a new predicate and adds it to the given search condition. |
static int |
checkJoin(java.util.List fromClause,
TableExpression sourceTable,
TableExpression targetTable,
ValueExpressionColumn sourceColumn,
ValueExpressionColumn targetColumn,
boolean isMove)
Checks whether or not a join between the given join source and target objects is valid. |
static boolean |
checkJoinType(ValueExpressionColumn sourceColumn,
ValueExpressionColumn targetColumn)
Determines if source and target columns are of compatible type for joining. |
static boolean |
conditionContainsTable(QuerySearchCondition condition,
TableExpression table)
Checks to see if the given SQLSearchCondition (ON clause) contains the given table. |
static TableJoined |
findClosestContainingJoin(TableExpression joinSource,
TableExpression joinTarget)
Finds and returns the closest enclosing join containing both the given source and target tables, working from the leafs of the join tree to the root. |
static java.util.List |
findConditionsContainingTable(QuerySearchCondition cond,
TableExpression table)
Finds and returns the individual conditions (predicates) in the given QuerySearchCondition (ON clause) that contain references to the given table. |
static java.util.List |
findJoinsWithTableInCondition(TableExpression table,
TableJoined join)
Searches upwards in the join tree to see if the given table exists in any of the conditions in the joins. |
static TableReference |
findOutermostContainingJoin(java.util.List fromClause,
TableExpression targetTable)
Finds and returns the outermost table reference in the From clause that contains the given table. |
static java.lang.String |
getGenericType(java.lang.Object datatype)
Returns a string indicating the "generic" type for the given datatype object. |
static java.util.List |
getLeftJoinsForTable(TableExpression tableExpr)
Returns a list of TableJoined objects of which the given TableExpression is the left side. |
static TableReference |
getNestedTable(TableReference tableRef)
Returns the table "nested" in the given table, if any. |
static java.util.List |
getRightJoinsForTable(TableExpression tableExpr)
Returns a list of TableJoined objects of which the given TableExpression is the right side. |
static java.util.List |
getTablesInJoin(TableJoined join)
Gets a list of TableExpression objects embedded inside the given join object. |
static java.util.List |
getTablesInNestedTable(TableNested tableNested)
Returns a list of TableExpressions contained in the given TableNested object. |
static void |
removeJoin(java.util.List fromClause,
TableJoined joinedTable)
Removes the given joined table from the given FROM clause list. |
static void |
removeJoinCondition(java.util.List fromClause,
TableJoined joinedTable,
PredicateBasic joinCond)
Removes the given join condition (PredicateBasic) from the given joined table. |
static void |
removeJoinConditionsForTables(java.util.List fromClause,
java.util.List tableList,
java.util.List joinList)
Unravels the content (left or right) of a join by removing all ON clause conditions in the given join list that refer to the tables in the given table list. |
static void |
removeJoinsForTable(java.util.List fromClause,
TableExpression table)
Removes any joins from the FROM clause list that contain or reference the given table. |
static QuerySearchCondition |
removePredicateFromCondition(Predicate pred,
QuerySearchCondition searchCon)
Removes the given predicate from the given search condition. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String copyright
public static final java.lang.String GENERIC_CHARACTER
public static final java.lang.String GENERIC_INTEGER
public static final java.lang.String GENERIC_DECIMAL
public static final java.lang.String GENERIC_BINARY
public static final java.lang.String GENERIC_DATE
public static final java.lang.String GENERIC_TIME
public static final java.lang.String GENERIC_TIMESTAMP
public static final java.lang.String GENERIC_BLOB
public static final java.lang.String GENERIC_OTHER
public static final int JOIN_COL_TYPE_MISMATCH
public static final int JOIN_COL_USED
public static final int JOIN_SAME_TABLE
public static final int JOIN_VALID
public static final java.lang.String LEFT
public static final java.lang.String RIGHT
public static final java.lang.String BOTH
public static final java.lang.String NONE
| Constructor Detail |
|---|
public JoinHelper()
| Method Detail |
|---|
public static TableJoined addJoin(java.util.List fromClause,
TableExpression sourceTable,
TableExpression targetTable,
ValueExpressionColumn sourceColumn,
ValueExpressionColumn targetColumn,
int joinType)
fromClause - the list of objects (tables and joins) in the FROM clausesourceTable - the source (left side) table of the jointargetTable - the target (right side) table of the joinsourceColumn - the source column expression of the jointargetColumn - the target column expression of the joinjoinType - the type of join (inner, left outer, etc.)
public static TableJoined addJoinedTable(java.util.List fromClause,
TableReference joinSource,
TableReference joinTarget,
int joinType)
fromClause - the list of objects (tables and joins) in the FROM clausejoinSource - the source (left side) of the joinjoinTarget - the target (right side) of the joinjoinType - the type of join (inner, left outer, etc.)
public static PredicateBasic buildPredicateBasic(QueryValueExpression leftExpr,
QueryValueExpression rightExpr,
java.lang.String oper)
leftExpr - the left side expressionrightExpr - the right side expressionoper - the operator
public static QuerySearchCondition buildSearchCondition(QuerySearchCondition currentSearchCon,
QueryValueExpression leftExpr,
QueryValueExpression rightExpr,
java.lang.String oper)
currentSearchCon - the existing search condition or nullleftExpr - the left side expression of the new predicaterightExpr - the right side expression of the new predicateoper - the operator string (eg: "=" )
public static int checkJoin(java.util.List fromClause,
TableExpression sourceTable,
TableExpression targetTable,
ValueExpressionColumn sourceColumn,
ValueExpressionColumn targetColumn,
boolean isMove)
fromClause - the list of objects (tables and joins) in the FROM clausesourceTable - the source (left side) table of the jointargetTable - the target (right side) table of the joinsourceColumn - the source column of the jointargetColumn - the target column of the joinisMove - true when a join is being moved, false when a join
is being created
public static boolean checkJoinType(ValueExpressionColumn sourceColumn,
ValueExpressionColumn targetColumn)
sourceColumn - the source column to checktargetColumn - the target column to check
public static boolean conditionContainsTable(QuerySearchCondition condition,
TableExpression table)
condition - the condition to searchtable - the table to search for
public static TableJoined findClosestContainingJoin(TableExpression joinSource,
TableExpression joinTarget)
joinSource - the source (left side) of a joinjoinTarget - the target (right side) of a join
public static java.util.List findConditionsContainingTable(QuerySearchCondition cond,
TableExpression table)
cond - the QuerySearchCondition to searchtable - the TableExpression to use to search for predicates
public static java.util.List findJoinsWithTableInCondition(TableExpression table,
TableJoined join)
table - the table to be searched forjoin - the join at which the search starts
public static TableReference findOutermostContainingJoin(java.util.List fromClause,
TableExpression targetTable)
fromClause - the list of objects (tables and joins) in the FROM clausetargetTable - the table reference to be looked for
public static java.util.List getLeftJoinsForTable(TableExpression tableExpr)
tableExpr - the TableExpression for which to find the joinspublic static TableReference getNestedTable(TableReference tableRef)
tableRef - the table reference from which the nested table is wanted
public static java.util.List getRightJoinsForTable(TableExpression tableExpr)
tableExpr - the TableExpression for which to find the joinspublic static java.lang.String getGenericType(java.lang.Object datatype)
datatype - the datatype for which a generic type is neededpublic static java.util.List getTablesInJoin(TableJoined join)
join - the join from which the tables are to be obtained
public static java.util.List getTablesInNestedTable(TableNested tableNested)
tableNested - the TableNested object from which the TableExpressions are to be obtained
public static void removeJoin(java.util.List fromClause,
TableJoined joinedTable)
fromClause - the list of objects (tables and joins) in the FROM clausethe - join to be removed
public static void removeJoinCondition(java.util.List fromClause,
TableJoined joinedTable,
PredicateBasic joinCond)
fromClause - the list of objects (tables and joins) in the FROM clausejoinedTable - the join from which the join condition is to be removedjoinCond - the join condition to be removed
public static void removeJoinConditionsForTables(java.util.List fromClause,
java.util.List tableList,
java.util.List joinList)
fromClause - the list of objects (tables and joins) in the FROM clausetableList - a list of tables for which joins are to be removedjoinList - a list of joins to be searched for conditions involving
the tables and updated or removed
public static void removeJoinsForTable(java.util.List fromClause,
TableExpression table)
fromClause - the list of objects (tables and joins) in the FROM clausetable - the table for which joins should be removed
public static QuerySearchCondition removePredicateFromCondition(Predicate pred,
QuerySearchCondition searchCon)
pred - the Predicate which needs to be removed from the conditionsearchCon - the SearchCondition from which predicate needs to be removed
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||