org.apache.olingo.server.api.uri.queryoption.expression

## Interface VisitableExpression

- All Known Subinterfaces:
    AggregateExpression, Alias, Binary, Enumeration, Expression, LambdaRef, Literal, Member, Method, TypeLiteral, Unary

      public interface VisitableExpression

  Marks an expression node a visitable by an expression visitor

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T> T` | `accept(ExpressionVisitor<T> visitor)` Method `accept(ExpressionVisitor)` is called when traversing the expression tree.

- - ### Method Detail

    - #### accept

          <T> T accept(ExpressionVisitor<T> visitor)
                throws ExpressionVisitException,
                       ODataApplicationException

      Method `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 which are of the generic type T
    - Call the appropriate method on the `ExpressionVisitor` instance and provide the stored return objects to that instance
    - Return the object which should be passed to the processing algorithm of the parent expression node

Parameters:
  `visitor` - Visitor object (implementing `ExpressionVisitor`) whose methods are called during traversing a expression node of the expression tree.
Returns:
  Object of type T which should be passed to the processing algorithm of the parent expression node
Throws:
  `ExpressionVisitException` - Exception occurred in the OData library while traversing the tree
  `ODataApplicationException` - Exception thrown by the application who implemented the visitor

Copyright © 2013–2022 The Apache Software Foundation. All rights reserved.