public interface ExpressionVisitor
ExpressionVisitor
is used to traverse a $filter or $orderby expression tree.
Any class instance implementing this interface can be passed to the method
Visitable.accept(ExpressionVisitor)
of an expression node to start the traversing. While traversing, the
appropriate methods of the visitor implementation
will be called.Modifier and Type | Method and Description |
---|---|
Object |
visitBinary(BinaryExpression binaryExpression,
BinaryOperator operator,
Object leftSide,
Object rightSide)
Visits a binary expression
|
Object |
visitFilterExpression(FilterExpression filterExpression,
String expressionString,
Object expression)
Visits a filter expression
|
Object |
visitLiteral(LiteralExpression literal,
EdmLiteral edmLiteral)
Visits a literal expression
|
Object |
visitMember(MemberExpression memberExpression,
Object path,
Object property)
Visits a member expression (e.g.
|
Object |
visitMethod(MethodExpression methodExpression,
MethodOperator method,
List<Object> parameters)
Visits a method expression
|
Object |
visitOrder(OrderExpression orderExpression,
Object filterResult,
SortOrder sortOrder)
Visits a order expression
|
Object |
visitOrderByExpression(OrderByExpression orderByExpression,
String expressionString,
List<Object> orders)
Visits a orderby expression
|
Object |
visitProperty(PropertyExpression propertyExpression,
String uriLiteral,
EdmTyped edmProperty)
Visits a property expression
|
Object |
visitUnary(UnaryExpression unaryExpression,
UnaryOperator operator,
Object operand)
Visits a unary expression
|
Object visitFilterExpression(FilterExpression filterExpression, String expressionString, Object expression)
filterExpression
- The visited filter expression nodeexpressionString
- The $filter expression string used to build the filter expression treeexpression
- The expression node representing the first operator,method,literal or property of the
expression treeObject visitBinary(BinaryExpression binaryExpression, BinaryOperator operator, Object leftSide, Object rightSide)
binaryExpression
- The visited binary expression nodeoperator
- The operator used in the binary expressionleftSide
- The result of visiting the left expression noderightSide
- The result of visiting the right expression nodeObject visitOrderByExpression(OrderByExpression orderByExpression, String expressionString, List<Object> orders)
orderByExpression
- The visited orderby expression nodeexpressionString
- The $orderby expression string used to build the orderby expression treeorders
- The result of visiting the orders of the orderby expressionObject visitOrder(OrderExpression orderExpression, Object filterResult, SortOrder sortOrder)
orderExpression
- The visited order expression nodefilterResult
- The result of visiting the filter expression contained in the ordersortOrder
- The sort orderObject visitLiteral(LiteralExpression literal, EdmLiteral edmLiteral)
literal
- The visited literal expression nodeedmLiteral
- The detected EDM literal (value and type)Object visitMethod(MethodExpression methodExpression, MethodOperator method, List<Object> parameters)
methodExpression
- The visited method expression nodemethod
- The method used in the method expressionparameters
- The result of visiting the parameters of the methodObject visitMember(MemberExpression memberExpression, Object path, Object property)
memberExpression
- The visited member expression nodepath
- The result of visiting the path property expression node (the left side of the property operator)property
- The result of visiting the member property expression nodeObject visitProperty(PropertyExpression propertyExpression, String uriLiteral, EdmTyped edmProperty)
propertyExpression
- The visited property expression nodeuriLiteral
- The URI literal of the propertyedmProperty
- The EDM property matching the property name used in the expression StringObject visitUnary(UnaryExpression unaryExpression, UnaryOperator operator, Object operand)
unaryExpression
- The visited unary expression nodeoperator
- The operator used in the unary expressionoperand
- The result of visiting the operand expression nodeCopyright © 2013-2017 The Apache Software Foundation. All Rights Reserved.