Class MethodExpressionImpl

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

public class MethodExpressionImpl extends Object implements MethodExpression
  • Constructor Details

    • MethodExpressionImpl

      public MethodExpressionImpl(org.apache.olingo.odata2.core.uri.expression.InfoMethod infoMethod)
  • Method Details

    • 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"
    • getMethod

      public MethodOperator getMethod()
      Specified by:
      getMethod in interface MethodExpression
      Returns:
      Returns the method object that represents the used method
      See Also:
    • getMethodInfo

      public org.apache.olingo.odata2.core.uri.expression.InfoMethod getMethodInfo()
    • getParameters

      public List<CommonExpression> getParameters()
      Specified by:
      getParameters in interface MethodExpression
      Returns:
      Returns a ordered list of expressions defining the input parameters for the used method
      See Also:
    • getParameterCount

      public int getParameterCount()
      Specified by:
      getParameterCount in interface MethodExpression
      Returns:
      Returns the number of provided method parameters
    • appendParameter

      public MethodExpressionImpl appendParameter(CommonExpression expression)
      Parameters:
      expression -
      Returns:
      A self reference for method chaining"
    • getKind

      public ExpressionKind getKind()
      Specified by:
      getKind in interface CommonExpression
      Returns:
      Kind of this expression
      See Also:
    • 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