- java.lang.Object
-
- org.datanucleus.store.query.expression.Expression
-
- org.datanucleus.store.query.expression.JoinExpression
-
- All Implemented Interfaces:
Serializable
public class JoinExpression extends Expression
Expression representing a join between a candidate class, and the class of a field of the first class. An example is in JPQL where we have a "from" clause likeSELECT ... FROM Product p JOIN p.reviews r [ON {cond_expr}]
so the join between "Product p" and "Review r" using "p.reviews". Can have a JoinExpression to its right.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JoinExpression.JoinType
-
Nested classes/interfaces inherited from class org.datanucleus.store.query.expression.Expression
Expression.DyadicOperator, Expression.MonadicOperator, Expression.Operator
-
-
Field Summary
-
Fields inherited from class org.datanucleus.store.query.expression.Expression
alias, left, op, OP_ADD, OP_AND, OP_BIT_AND, OP_BIT_OR, OP_BIT_XOR, OP_CAST, OP_COM, OP_CONCAT, OP_DISTINCT, OP_DIV, OP_EQ, OP_GT, OP_GTEQ, OP_IN, OP_IS, OP_ISNOT, OP_LIKE, OP_LT, OP_LTEQ, OP_MOD, OP_MUL, OP_NEG, OP_NOT, OP_NOTEQ, OP_NOTIN, OP_OR, OP_SUB, parent, right, symbol
-
-
Constructor Summary
Constructors Constructor Description JoinExpression(Expression expr, String alias, JoinExpression.JoinType type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Symbol
bind(SymbolTable symtbl)
Method to bind the expression to the symbol table as appropriate.String
getAlias()
Expression
getJoinedExpression()
Expression
getOnExpression()
JoinExpression.JoinType
getType()
void
setJoinExpression(JoinExpression expr)
void
setOnExpression(Expression expr)
String
toString()
-
Methods inherited from class org.datanucleus.store.query.expression.Expression
evaluate, getLeft, getOperator, getParent, getRight, getSymbol, setAlias, setLeft, setRight
-
-
-
-
Constructor Detail
-
JoinExpression
public JoinExpression(Expression expr, String alias, JoinExpression.JoinType type)
-
-
Method Detail
-
setJoinExpression
public void setJoinExpression(JoinExpression expr)
-
setOnExpression
public void setOnExpression(Expression expr)
-
getJoinedExpression
public Expression getJoinedExpression()
-
getOnExpression
public Expression getOnExpression()
-
getAlias
public String getAlias()
- Overrides:
getAlias
in classExpression
-
getType
public JoinExpression.JoinType getType()
-
bind
public Symbol bind(SymbolTable symtbl)
Method to bind the expression to the symbol table as appropriate.- Specified by:
bind
in classExpression
- Parameters:
symtbl
- Symbol Table- Returns:
- The symbol for this expression
-
-