Class OuterFunctionVisitor
java.lang.Object
com.blazebit.persistence.parser.expression.VisitorAdapter
com.blazebit.persistence.impl.transform.ClauseAndJoinAwareVisitor
com.blazebit.persistence.impl.transform.OuterFunctionVisitor
- All Implemented Interfaces:
ExpressionModifierVisitor<ExpressionModifier>
,Expression.Visitor
public class OuterFunctionVisitor extends ClauseAndJoinAwareVisitor implements ExpressionModifierVisitor<ExpressionModifier>
This Transformer runs through the expressions of the query
For each OUTER(pp) expression it performs an implicitJoin for the join manager
of the surrounding query and replaces the OUTER(pp) expression with the base node alias '.' the field.
We need a join manager hierarchy to do this.
We have decided to limit the outer statement to the join manager of the directly surrounding query so that the
user can specify the absolute path in a normalized form.
- Since:
- 1.0.0
- Author:
- Moritz Becker
-
Field Summary
Fields inherited from class com.blazebit.persistence.impl.transform.ClauseAndJoinAwareVisitor
fromClause, joinRequired
-
Constructor Summary
Constructors Constructor Description OuterFunctionVisitor(JoinManager joinManager)
-
Method Summary
Modifier and Type Method Description void
visit(FunctionExpression expression)
void
visit(ExpressionModifier expressionModifier, ClauseType clauseType)
Methods inherited from class com.blazebit.persistence.impl.transform.ClauseAndJoinAwareVisitor
visit, visit, visit, visit, visit, visit
Methods inherited from class com.blazebit.persistence.parser.expression.VisitorAdapter
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
Constructor Details
-
Method Details
-
visit
- Specified by:
visit
in interfaceExpressionModifierVisitor<ExpressionModifier>
-
visit
- Specified by:
visit
in interfaceExpression.Visitor
- Overrides:
visit
in classVisitorAdapter
-