Class OrderExpressionImpl

java.lang.Object
org.apache.olingo.odata2.core.uri.expression.OrderExpressionImpl
All Implemented Interfaces:
CommonExpression, OrderExpression, Visitable

public class OrderExpressionImpl extends Object implements OrderExpression
  • Method Details

    • getSortOrder

      public SortOrder getSortOrder()
      Specified by:
      getSortOrder in interface OrderExpression
      Returns:
      Returns the sort order (ascending or descending) of the order expression
    • getExpression

      public CommonExpression getExpression()
      Specified by:
      getExpression in interface OrderExpression
      Returns:
      Returns the expression node which defines the data used to order the output send back to the client. In the simplest case this would be a PropertyExpression.
      See Also:
    • getKind

      public ExpressionKind getKind()
      Specified by:
      getKind in interface CommonExpression
      Returns:
      Kind of this expression
      See Also:
    • getEdmType

      public EdmType getEdmType()
      Specified by:
      getEdmType in interface CommonExpression
      Returns:
      The return type of the value represented with this expression. For example the CommonExpression.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 CommonExpression.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

      public CommonExpression setEdmType(EdmType edmType)
      Description copied from interface: CommonExpression
      Set the edmType of this expression node
      Specified by:
      setEdmType in interface CommonExpression
      Parameters:
      edmType - Type to be set
      Returns:
      A self reference for method chaining"
    • getUriLiteral

      public String getUriLiteral()
      Description copied from interface: CommonExpression
      Returns the URI literal which lead to the creation of this expression.
      Specified by:
      getUriLiteral in interface CommonExpression
      Returns:
      URI literal
    • accept

      Description copied from interface: Visitable
      Method Visitable.accept(ExpressionVisitor) is called when traversing the expression tree. This method is invoked on each expression used as node in an expression tree. The implementations should behave as follows:
    • Call accept on all sub nodes and store the returned Objects
    • Call the appropriate method on the ExpressionVisitor instance and provide the stored objects to that instance
    • Return the object which should be passed to the processing algorithm of the parent expression node

    • Specified by:
      accept in interface Visitable
      Parameters:
      visitor - Object ( implementing ExpressionVisitor) whose methods are called during traversing a expression node of the expression tree.
      Returns:
      Object which should be passed to the processing algorithm of the parent expression node
      Throws:
      ExceptionVisitExpression - Exception occurred the OData library while traversing the tree
      ODataApplicationException - Exception thrown by the application who implemented the visitor