Interface Expression

All Superinterfaces:
Serializable
All Known Implementing Classes:
AccessProjectionExpressionBase, ArithmaticExpression, ArrayExpression, AvedevProjectionExpression, AvgProjectionExpression, BetweenExpression, BitwiseOpExpression, CaseSwitchExpression, CaseWhenThenExpression, CastExpression, CoalesceExpression, CompareListExpression, ConcatExpression, Conjunction, ConstantExpression, CountEverProjectionExpression, CountProjectionExpression, CountStarProjectionExpression, CrontabFrequencyExpression, CrontabParameterExpression, CrontabParameterSetExpression, CrontabRangeExpression, CurrentEvaluationContextExpression, CurrentTimestampExpression, Disjunction, DotExpression, ExpressionBase, ExpressionPlaceholder, FirstEverProjectionExpression, FirstProjectionExpression, GroupingExpression, GroupingIdExpression, InExpression, InstanceOfExpression, IStreamBuiltinExpression, Junction, LambdaExpression, LastEverProjectionExpression, LastProjectionExpression, LikeExpression, MaxProjectionExpression, MaxRowExpression, MedianProjectionExpression, MinProjectionExpression, MinRowExpression, NamedParameterExpression, NewInstanceOperatorExpression, NewOperatorExpression, NotExpression, OrderedObjectParamExpression, PlugInProjectionExpression, PreviousExpression, PriorExpression, PropertyExistsExpression, PropertyValueExpression, RegExpExpression, RelationalOpExpression, SingleRowMethodExpression, StaticMethodExpression, StddevProjectionExpression, StreamWildcardExpression, SubqueryExistsExpression, SubqueryExpression, SubqueryInExpression, SubqueryQualifiedExpression, SubstitutionParameterExpression, SumProjectionExpression, TableAccessExpression, TimePeriodExpression, TypeOfExpression, WildcardExpression, WindowProjectionExpression

public interface Expression extends Serializable
Interface representing an expression for use in select-clauses, where-clauses, having-clauses, order-by clauses and streams based on filters and pattern filter expressions.

Expressions are organized into a tree-like structure with nodes representing sub-expressions.

Certain types of nodes have certain requirements towards the number or types of nodes that are expected as sub-expressions to an expression.

  • Method Details

    • getChildren

      List<Expression> getChildren()
      Returns the list of sub-expressions (child expressions) to the current expression node.
      Returns:
      child expressions or empty list if there are no child expressions
    • setChildren

      void setChildren(List<Expression> children)
      Sets the list of sub-expressions (child expressions) to the current expression node.
      Parameters:
      children - child expressions or empty list if there are no child expressions
    • getTreeObjectName

      String getTreeObjectName()
      Returns the tree of object name, for use by tools to assign an identifier to an expression.
      Returns:
      tree object id
    • setTreeObjectName

      void setTreeObjectName(String objectName)
      Sets the tree of object name, for use by tools to assign an identifier to an expression.
      Parameters:
      objectName - tree object id
    • getPrecedence

      ExpressionPrecedenceEnum getPrecedence()
      Returns precedence.
      Returns:
      precedence
    • toEPL

      void toEPL(StringWriter writer, ExpressionPrecedenceEnum parentPrecedence)
      Write expression considering precedence.
      Parameters:
      writer - to use
      parentPrecedence - precedence