Interface CommonExpression
- All Superinterfaces:
Visitable
- All Known Subinterfaces:
BinaryExpression,FilterExpression,LiteralExpression,MemberExpression,MethodExpression,OrderByExpression,OrderExpression,PropertyExpression,UnaryExpression
- All Known Implementing Classes:
BinaryExpressionImpl,FilterExpressionImpl,LiteralExpressionImpl,MemberExpressionImpl,MethodExpressionImpl,OrderByExpressionImpl,OrderExpressionImpl,PropertyExpressionImpl,UnaryExpressionImpl
Parent class of all classes used to build the expression tree
This interface defines the default methods for all expression tree nodes
-
Method Summary
Modifier and TypeMethodDescriptiongetKind()Returns the URI literal which lead to the creation of this expression.setEdmType(EdmType edmType) Set the edmType of this expression node
-
Method Details
-
getKind
ExpressionKind getKind()- Returns:
- Kind of this expression
- See Also:
-
getEdmType
EdmType getEdmType()- Returns:
- The return type of the value represented with
this expression. For example the
getEdmType()method for an expression representing the "concat" method will return always "Edm.String".
This type information is set while parsing the $filter or $orderby expressions and used to do a first validation of the expression. For calculating operators like "add, sub, mul" this type information is purely based on input and output types of the operator as defined in the OData specification. So for $filter=2 add 7 the
getEdmType()method of the binary expression will return Edm.Byte and not Edm.Int16 because the parser performs no real addition.
However, the application may change this type while evaluating the expression tree.
-
setEdmType
Set the edmType of this expression node- Parameters:
edmType- Type to be set- Returns:
- A self reference for method chaining"
-
getUriLiteral
String getUriLiteral()Returns the URI literal which lead to the creation of this expression.- Returns:
- URI literal
-