Package org.apache.groovy.ginq.dsl

# Interface GinqAstVisitor<R>

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

All Known Implementing Classes:
  `GinqAstBaseVisitor`

@Incubating public interface GinqAstVisitor<R>
Represents the visitor for AST of GINQ

Since:
  4.0.0

- ## Method Summary

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

- ## Method Details

  - ### visitGinqExpression

    R visitGinqExpression(GinqExpression ginqExpression)
    Visits a full GINQ expression.
    Parameters:
      `ginqExpression` - the expression to visit
    Returns:
      the visit result

  - ### visitFromExpression

    R visitFromExpression(FromExpression fromExpression)
    Visits a `from` clause.
    Parameters:
      `fromExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitJoinExpression

    R visitJoinExpression(JoinExpression joinExpression)
    Visits a join clause.
    Parameters:
      `joinExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitOnExpression

    R visitOnExpression(OnExpression onExpression)
    Visits an `on` clause.
    Parameters:
      `onExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitWhereExpression

    R visitWhereExpression(WhereExpression whereExpression)
    Visits a `where` clause.
    Parameters:
      `whereExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitGroupExpression

    R visitGroupExpression(GroupExpression groupExpression)
    Visits a `groupby` clause.
    Parameters:
      `groupExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitHavingExpression

    R visitHavingExpression(HavingExpression havingExpression)
    Visits a `having` clause.
    Parameters:
      `havingExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitOrderExpression

    R visitOrderExpression(OrderExpression orderExpression)
    Visits an `orderby` clause.
    Parameters:
      `orderExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitLimitExpression

    R visitLimitExpression(LimitExpression limitExpression)
    Visits a `limit` clause.
    Parameters:
      `limitExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitSelectExpression

    R visitSelectExpression(SelectExpression selectExpression)
    Visits a `select` clause.
    Parameters:
      `selectExpression` - the clause to visit
    Returns:
      the visit result

  - ### visitSetOperationExpression

    R visitSetOperationExpression(SetOperationExpression setOperationExpression)
    Visits a set-operation expression.
    Parameters:
      `setOperationExpression` - the expression to visit
    Returns:
      the visit result
    Since:
      6.0.0

  - ### visitShutdownExpression

    R visitShutdownExpression(ShutdownExpression shutdownExpression)
    Visits a shutdown expression.
    Parameters:
      `shutdownExpression` - the expression to visit
    Returns:
      the visit result

  - ### visit

    R visit(AbstractGinqExpression expression)
    Visits an arbitrary GINQ expression.
    Parameters:
      `expression` - the expression to visit
    Returns:
      the visit result

  - ### setConfiguration

    default void setConfiguration(Map<String,String> configuration)
    Updates the visitor configuration.
    Parameters:
      `configuration` - the configuration to apply

  - ### getConfiguration

    default Map<String,String> getConfiguration()
    Returns the visitor configuration.
    Returns:
      the current configuration