Interface ExpressionVisitor<T>
@ProviderType
public interface ExpressionVisitor<T>
Defines expression visitors with arbitrary return types. This interface's
methods are called when an expression node of the expression tree is
traversed.
-
Method Summary
Modifier and TypeMethodDescriptionvisitBinaryExpressionOperation(BinaryExpression.Operation operation, T left, T right) Called for eachBinaryExpression.default TvisitCollectionPropertyExpression(CollectionPropertyExpression collectionPropertyExpression) Called for each traversedComplexPropertyExpressionexpressiondefault TvisitComplexPropertyExpression(ComplexPropertyExpression complexPropertyExpression) Called for each traversedComplexPropertyExpressionexpressiondefault TvisitLambdaFunctionExpression(LambdaFunctionExpression.Type type, String variableName, Expression expression) Called for each traversedLambdaFunctionExpressionexpressiondefault TvisitLambdaVariableExpression(LambdaVariableExpression lambdaVariableExpression) Called for each traversedLambdaVariableExpressionexpressionvisitListExpressionOperation(ListExpression.Operation operation, T left, List<T> right) Called for eachListExpression.visitLiteralExpression(LiteralExpression literalExpression) Called for eachLiteralExpression.visitMemberExpression(MemberExpression memberExpression) Called for eachMemberExpression.visitMethodExpression(List<T> expressions, MethodExpression.Type type) Called for each traversedMethodExpressionexpressiondefault TvisitNavigationPropertyExpression(NavigationPropertyExpression navigationPropertyExpression) default TvisitPrimitivePropertyExpression(PrimitivePropertyExpression primitivePropertyExpression) Called for each traversedPrimitivePropertyExpressionexpression.default TvisitUnaryExpressionOperation(UnaryExpression.Operation operation, T operand) Called for each traversedUnaryExpressionexpression
-
Method Details
-
visitBinaryExpressionOperation
T visitBinaryExpressionOperation(BinaryExpression.Operation operation, T left, T right) throws ExpressionVisitException Called for eachBinaryExpression.- Parameters:
operation- the binary expression's operationleft- the return value of the left subtreeright- the return value of the right subtree- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- if an expression visit exception occurred
-
visitCollectionPropertyExpression
default T visitCollectionPropertyExpression(CollectionPropertyExpression collectionPropertyExpression) throws ExpressionVisitException Called for each traversedComplexPropertyExpressionexpression- Parameters:
collectionPropertyExpression- the complex property expression- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- the expression visit exception
-
visitComplexPropertyExpression
default T visitComplexPropertyExpression(ComplexPropertyExpression complexPropertyExpression) throws ExpressionVisitException Called for each traversedComplexPropertyExpressionexpression- Parameters:
complexPropertyExpression- the complex property expression- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- the expression visit exception
-
visitLambdaFunctionExpression
default T visitLambdaFunctionExpression(LambdaFunctionExpression.Type type, String variableName, Expression expression) throws ExpressionVisitException Called for each traversedLambdaFunctionExpressionexpression- Parameters:
variableName- the name of the lambda variableexpression- the expression- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- the expression visit exception
-
visitLambdaVariableExpression
default T visitLambdaVariableExpression(LambdaVariableExpression lambdaVariableExpression) throws ExpressionVisitException Called for each traversedLambdaVariableExpressionexpression- Parameters:
lambdaVariableExpression- the lambda variable expression- Returns:
- the t
- Throws:
ExpressionVisitException- if an expression visit exception occurred
-
visitListExpressionOperation
T visitListExpressionOperation(ListExpression.Operation operation, T left, List<T> right) throws ExpressionVisitException Called for eachListExpression.- Parameters:
operation- the list expression's operationleft- the return value of the left subtreeright- the return value of the lists of right subtrees- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- if an expression visit exception occurred
-
visitLiteralExpression
Called for eachLiteralExpression.- Parameters:
literalExpression- the literal expression- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- if an expression visit exception occurred
-
visitMemberExpression
Called for eachMemberExpression.- Parameters:
memberExpression- the member expression- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- if an expression visit exception occurred
-
visitMethodExpression
T visitMethodExpression(List<T> expressions, MethodExpression.Type type) throws ExpressionVisitException Called for each traversedMethodExpressionexpression- Parameters:
expressions- List of return values created by visiting each method expressiontype- Method.Type- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- if an expression visit exception occurred
-
visitPrimitivePropertyExpression
default T visitPrimitivePropertyExpression(PrimitivePropertyExpression primitivePropertyExpression) throws ExpressionVisitException Called for each traversedPrimitivePropertyExpressionexpression.- Parameters:
primitivePropertyExpression- the primitive property expression- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- if an expression visit exception occurred
-
visitUnaryExpressionOperation
default T visitUnaryExpressionOperation(UnaryExpression.Operation operation, T operand) throws ExpressionVisitException Called for each traversedUnaryExpressionexpression- Parameters:
operation- the unary expression's operationoperand- the return value of the subtree- Returns:
- T the object of type
T - Throws:
ExpressionVisitException- if an expression visit exception occurred
-