public class ExpressionNormalizer
extends java.lang.Object
Constructor and Description |
---|
ExpressionNormalizer(SQLSelectStatement statement) |
Modifier and Type | Method and Description |
---|---|
void |
addAdditionalExpression(Expression theExpression) |
void |
addAdditionalLocalExpression(Expression theExpression)
Similar to addAdditionalExpression, this keeps a running expression used for joins so that they can be added locally within 'OR'
predicates rather than to the entire where clause.
|
void |
addSubSelectExpression(SubSelectExpression subSelectExpression)
INTERNAL:
Remember this subselect so that it can be normalized after the enclosing
select statement is.
|
boolean |
encounteredSubSelectExpressions()
INTERNAL:
Were subselect expressions found while normalizing the selection criteria?
Assumes underlying collection is initialized on first add.
|
Expression |
getAdditionalExpression() |
java.util.Map<Expression,Expression> |
getClonedExpressions() |
AbstractSession |
getSession() |
SQLSelectStatement |
getStatement() |
boolean |
isAddAdditionalExpressionsWithinCurrrentExpressionContext() |
void |
normalizeSubSelects(java.util.Map clonedExpressions)
INTERNAL:
Normalize all subselect expressions found in the course of normalizing the
enclosing query.
|
Expression |
processAdditionalLocalExpressions(Expression localExpression,
boolean isLogicalExpression)
INTERNAL
This will return the localExpression if isLogicalExpression is false, otherwise it will check the addAdditionalExpressionsWithinCurrrentExpressionContext
flag and clear additionalLocalExpression once adding it to the localExpression.
|
void |
setAddAdditionalExpressionsWithinCurrrentExpressionContext(boolean addAdditionalExpressionsWithinCurrrentExpressionContext)
INTERNAL:
Allows keeping track when the normalizer is within a logical OR statement, where additionalExpressions might need to be added to the local
expression instead of at the end of the where clause.
|
void |
setAdditionalExpression(Expression additionalExpression) |
void |
setClonedExpressions(java.util.Map<Expression,Expression> clonedExpressions) |
void |
setSession(AbstractSession session) |
void |
setStatement(SQLSelectStatement statement) |
public ExpressionNormalizer(SQLSelectStatement statement)
public java.util.Map<Expression,Expression> getClonedExpressions()
public void setClonedExpressions(java.util.Map<Expression,Expression> clonedExpressions)
public void addAdditionalExpression(Expression theExpression)
public void addSubSelectExpression(SubSelectExpression subSelectExpression)
public Expression getAdditionalExpression()
public AbstractSession getSession()
public SQLSelectStatement getStatement()
public boolean encounteredSubSelectExpressions()
public void normalizeSubSelects(java.util.Map clonedExpressions)
public void setAdditionalExpression(Expression additionalExpression)
public void setSession(AbstractSession session)
public void setStatement(SQLSelectStatement statement)
public void addAdditionalLocalExpression(Expression theExpression)
theExpression
- public Expression processAdditionalLocalExpressions(Expression localExpression, boolean isLogicalExpression)
localExpression
- isLogicalExpression
- public boolean isAddAdditionalExpressionsWithinCurrrentExpressionContext()
public void setAddAdditionalExpressionsWithinCurrrentExpressionContext(boolean addAdditionalExpressionsWithinCurrrentExpressionContext)
addAdditionalExpressionsWithinCurrrentExpressionContext
- EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference