Class PropertyExpressionImpl

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

public class PropertyExpressionImpl extends Object implements PropertyExpression
  • Constructor Details

    • PropertyExpressionImpl

      public PropertyExpressionImpl(String uriLiteral, EdmLiteral edmLiteral)
  • Method Details

    • setEdmProperty

      public CommonExpression setEdmProperty(EdmTyped edmProperty)
    • 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"
    • getPropertyName

      public String getPropertyName()
      Specified by:
      getPropertyName in interface PropertyExpression
      Returns:
      the property name as used in the EDM
    • getEdmLiteral

      public EdmLiteral getEdmLiteral()
    • getEdmProperty

      public EdmTyped getEdmProperty()
      Specified by:
      getEdmProperty in interface PropertyExpression
      Returns:
      Returns the EDM property matching the property name used in the expression String. This may be an instance of EdmProperty or EdmNavigationProperty
      See Also:
    • 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
    • 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.

    • accept

      public Object accept(ExpressionVisitor visitor)
      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