Class ExpressionJsonVisitor
java.lang.Object
org.apache.olingo.server.core.debug.ExpressionJsonVisitor
- All Implemented Interfaces:
ExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>
public class ExpressionJsonVisitor
extends Object
implements ExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>
A custom expression visitor which converts the tree into a
JsonNode tree.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.fasterxml.jackson.databind.JsonNodevisitAlias(String aliasName) Called for each traversedAliasexpressioncom.fasterxml.jackson.databind.JsonNodevisitBinaryOperator(BinaryOperatorKind operator, com.fasterxml.jackson.databind.JsonNode left, com.fasterxml.jackson.databind.JsonNode right) Called for each traversedBinaryexpressioncom.fasterxml.jackson.databind.JsonNodevisitBinaryOperator(BinaryOperatorKind operator, com.fasterxml.jackson.databind.JsonNode left, List<com.fasterxml.jackson.databind.JsonNode> right) Called for each traversedBinaryexpressioncom.fasterxml.jackson.databind.JsonNodevisitEnum(EdmEnumType type, List<String> enumValues) Called for each traversedEnumerationexpressioncom.fasterxml.jackson.databind.JsonNodevisitLambdaExpression(String lambdaFunction, String lambdaVariable, Expression expression) Called for each traversed lambda expressioncom.fasterxml.jackson.databind.JsonNodevisitLambdaReference(String variableName) Called for each traversedLambdaRefcom.fasterxml.jackson.databind.JsonNodevisitLiteral(Literal literal) Called for each traversedLiteralexpressioncom.fasterxml.jackson.databind.JsonNodevisitMember(Member member) Called for each traversedMemberexpressioncom.fasterxml.jackson.databind.JsonNodevisitMethodCall(MethodKind methodCall, List<com.fasterxml.jackson.databind.JsonNode> parameters) Called for each traversedMethodexpressioncom.fasterxml.jackson.databind.JsonNodevisitTypeLiteral(EdmType type) Called for each traversedTypeLiteralexpressioncom.fasterxml.jackson.databind.JsonNodevisitUnaryOperator(UnaryOperatorKind operator, com.fasterxml.jackson.databind.JsonNode operand) Called for each traversedUnaryexpressionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitor
visitComputeAggregate
-
Constructor Details
-
ExpressionJsonVisitor
public ExpressionJsonVisitor()
-
-
Method Details
-
visitBinaryOperator
public com.fasterxml.jackson.databind.JsonNode visitBinaryOperator(BinaryOperatorKind operator, com.fasterxml.jackson.databind.JsonNode left, com.fasterxml.jackson.databind.JsonNode right) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedBinaryexpression- Specified by:
visitBinaryOperatorin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
operator- Operator kindleft- Application return value of left sub treeright- Application return value of right sub tree- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitUnaryOperator
public com.fasterxml.jackson.databind.JsonNode visitUnaryOperator(UnaryOperatorKind operator, com.fasterxml.jackson.databind.JsonNode operand) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedUnaryexpression- Specified by:
visitUnaryOperatorin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
operator- Operator kindoperand- return value of sub tree- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitMethodCall
public com.fasterxml.jackson.databind.JsonNode visitMethodCall(MethodKind methodCall, List<com.fasterxml.jackson.databind.JsonNode> parameters) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedMethodexpression- Specified by:
visitMethodCallin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
methodCall- Methodparameters- List of application return values created by visiting each method parameter- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitLambdaExpression
public com.fasterxml.jackson.databind.JsonNode visitLambdaExpression(String lambdaFunction, String lambdaVariable, Expression expression) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversed lambda expression- Specified by:
visitLambdaExpressionin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
lambdaFunction- "ALL" or "ANY"lambdaVariable- Variable name used lambda variableexpression- Lambda expression- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitLiteral
public com.fasterxml.jackson.databind.JsonNode visitLiteral(Literal literal) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedLiteralexpression- Specified by:
visitLiteralin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
literal- Literal- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitMember
public com.fasterxml.jackson.databind.JsonNode visitMember(Member member) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedMemberexpression- Specified by:
visitMemberin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
member- UriInfoResource object describing the whole path used to access an data value (this includes for example the usage of $root and $it inside the URI)- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitAlias
public com.fasterxml.jackson.databind.JsonNode visitAlias(String aliasName) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedAliasexpression- Specified by:
visitAliasin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
aliasName- Name of the alias- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitTypeLiteral
public com.fasterxml.jackson.databind.JsonNode visitTypeLiteral(EdmType type) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedTypeLiteralexpression- Specified by:
visitTypeLiteralin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
type- EdmType- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitLambdaReference
public com.fasterxml.jackson.databind.JsonNode visitLambdaReference(String variableName) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedLambdaRef- Specified by:
visitLambdaReferencein interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
variableName- Name of the used lambda variable- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitEnum
public com.fasterxml.jackson.databind.JsonNode visitEnum(EdmEnumType type, List<String> enumValues) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedEnumerationexpression- Specified by:
visitEnumin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
type- Type used in the URI before the enumeration valuesenumValues- List of enumeration values- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-
visitBinaryOperator
public com.fasterxml.jackson.databind.JsonNode visitBinaryOperator(BinaryOperatorKind operator, com.fasterxml.jackson.databind.JsonNode left, List<com.fasterxml.jackson.databind.JsonNode> right) throws ExpressionVisitException, ODataApplicationException Description copied from interface:ExpressionVisitorCalled for each traversedBinaryexpression- Specified by:
visitBinaryOperatorin interfaceExpressionVisitor<com.fasterxml.jackson.databind.JsonNode>- Parameters:
operator- Operator kindleft- Application return value of left sub treeright- Application return value of right sub tree- Returns:
- Application return value of type T
- Throws:
ExpressionVisitException- Thrown if an exception while traversing occurredODataApplicationException- Thrown by the application
-