Package: org.apache.groovy.ginq.dsl

## [Java] Interface GinqAstVisitor<R>

-     @Incubating
      public interface GinqAstVisitor<R>

  Represents the visitor for AST of GINQ

  Type Parameters:
    `R` - the type of visit result
  Since:
    4.0.0

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public Map<String, String>` | `getConfiguration()` Returns the visitor configuration.
    `` | `public void` | `setConfiguration(Map<String, String> configuration)` Updates the visitor configuration.
    `` | `public R` | `visit(AbstractGinqExpression expression)` Visits an arbitrary GINQ expression.
    `` | `public R` | `visitFromExpression(FromExpression fromExpression)` Visits a `from` clause.
    `` | `public R` | `visitGinqExpression(GinqExpression ginqExpression)` Visits a full GINQ expression.
    `` | `public R` | `visitGroupExpression(GroupExpression groupExpression)` Visits a `groupby` clause.
    `` | `public R` | `visitHavingExpression(HavingExpression havingExpression)` Visits a `having` clause.
    `` | `public R` | `visitJoinExpression(JoinExpression joinExpression)` Visits a join clause.
    `` | `public R` | `visitLimitExpression(LimitExpression limitExpression)` Visits a `limit` clause.
    `` | `public R` | `visitOnExpression(OnExpression onExpression)` Visits an `on` clause.
    `` | `public R` | `visitOrderExpression(OrderExpression orderExpression)` Visits an `orderby` clause.
    `` | `public R` | `visitSelectExpression(SelectExpression selectExpression)` Visits a `select` clause.
    `` | `public R` | `visitSetOperationExpression(SetOperationExpression setOperationExpression)` Visits a set-operation expression.
    `` | `public R` | `visitShutdownExpression(ShutdownExpression shutdownExpression)` Visits a shutdown expression.
    `` | `public R` | `visitWhereExpression(WhereExpression whereExpression)` Visits a `where` clause.

- - ### Method Detail

    - #### public Map<String, String> getConfiguration()

      Returns the visitor configuration.

      Returns:
        the current configuration

    - #### public void setConfiguration(Map<String, String> configuration)

      Updates the visitor configuration.

      Parameters:
        `configuration` - the configuration to apply

    - #### public R visit(AbstractGinqExpression expression)

      Visits an arbitrary GINQ expression.

      Parameters:
        `expression` - the expression to visit
      Returns:
        the visit result

    - #### public R visitFromExpression(FromExpression fromExpression)

      Visits a `from` clause.

      Parameters:
        `fromExpression` - the clause to visit
      Returns:
        the visit result

    - #### public R visitGinqExpression(GinqExpression ginqExpression)

      Visits a full GINQ expression.

      Parameters:
        `ginqExpression` - the expression to visit
      Returns:
        the visit result

    - #### public R visitGroupExpression(GroupExpression groupExpression)

      Visits a `groupby` clause.

      Parameters:
        `groupExpression` - the clause to visit
      Returns:
        the visit result

    - #### public R visitHavingExpression(HavingExpression havingExpression)

      Visits a `having` clause.

      Parameters:
        `havingExpression` - the clause to visit
      Returns:
        the visit result

    - #### public R visitJoinExpression(JoinExpression joinExpression)

      Visits a join clause.

      Parameters:
        `joinExpression` - the clause to visit
      Returns:
        the visit result

    - #### public R visitLimitExpression(LimitExpression limitExpression)

      Visits a `limit` clause.

      Parameters:
        `limitExpression` - the clause to visit
      Returns:
        the visit result

    - #### public R visitOnExpression(OnExpression onExpression)

      Visits an `on` clause.

      Parameters:
        `onExpression` - the clause to visit
      Returns:
        the visit result

    - #### public R visitOrderExpression(OrderExpression orderExpression)

      Visits an `orderby` clause.

      Parameters:
        `orderExpression` - the clause to visit
      Returns:
        the visit result

    - #### public R visitSelectExpression(SelectExpression selectExpression)

      Visits a `select` clause.

      Parameters:
        `selectExpression` - the clause to visit
      Returns:
        the visit result

    - #### public R visitSetOperationExpression(SetOperationExpression setOperationExpression)

      Visits a set-operation expression.

      Parameters:
        `setOperationExpression` - the expression to visit
      Returns:
        the visit result
      Since:
        6.0.0

    - #### public R visitShutdownExpression(ShutdownExpression shutdownExpression)

      Visits a shutdown expression.

      Parameters:
        `shutdownExpression` - the expression to visit
      Returns:
        the visit result

    - #### public R visitWhereExpression(WhereExpression whereExpression)

      Visits a `where` clause.

      Parameters:
        `whereExpression` - the clause to visit
      Returns:
        the visit result