Package: org.apache.groovy.ginq.dsl.expression

## [Java] Class GinqExpression

- org.apache.groovy.ginq.dsl.expression.GinqExpression

-     public class GinqExpression
      extends AbstractGinqExpression

  Represents GINQ expression, which has the following structure:

           ginq
           |__ from
           |__ [innerjoin/leftjoin/rightjoin/fulljoin/crossjoin]*
           |   |__ on
           |__ [where]
           |__ [groupby] [into]
           |   |__ [having]
           |__ [orderby]
           |__ [limit]
           |__ select

  (Note: [ ] means optional)
  Since:
    4.0.0

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class Expression` | `EMPTY_ARRAY`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `<R>` | `public R` | `accept(GinqAstVisitor<R> visitor)` Accepts a GINQ visitor.
    `` | `public void` | `addJoinExpression(JoinExpression joinExpression)` Adds a join clause.
    `` | `public FromExpression` | `getFromExpression()` Returns the `from` clause.
    `` | `public GroupExpression` | `getGroupExpression()` Returns the `groupby` clause.
    `` | `public List<JoinExpression>` | `getJoinExpressionList()` Returns the join clauses.
    `` | `public LimitExpression` | `getLimitExpression()` Returns the `limit` clause.
    `` | `public OrderExpression` | `getOrderExpression()` Returns the `orderby` clause.
    `` | `public SelectExpression` | `getSelectExpression()` Returns the `select` clause.
    `` | `public String` | `getText()` Returns the textual GINQ form of this expression.
    `` | `public WhereExpression` | `getWhereExpression()` Returns the `where` clause.
    `` | `public void` | `setFromExpression(FromExpression fromExpression)` Sets the `from` clause.
    `` | `public void` | `setGroupExpression(GroupExpression groupExpression)` Sets the `groupby` clause.
    `` | `public void` | `setLimitExpression(LimitExpression limitExpression)` Sets the `limit` clause.
    `` | `public void` | `setOrderExpression(OrderExpression orderExpression)` Sets the `orderby` clause.
    `` | `public void` | `setSelectExpression(SelectExpression selectExpression)` Sets the `select` clause.
    `` | `public void` | `setWhereExpression(WhereExpression whereExpression)` Sets the `where` clause.
    `` | `public String` | `toString()` Returns the textual form of this expression.
    `` | `public void` | `visit(GroovyCodeVisitor visitor)` Dispatches this expression to a GINQ-aware Groovy visitor.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class AbstractGinqExpression` | `accept, transformExpression, visit`
    `class Expression` | `getType, setType, transformExpression, transformExpressions, transformExpressions`
    `class AnnotatedNode` | `addAnnotation, addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`
    `class ASTNode` | `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit`

- - ### Method Detail

    - #### <R> public R accept(GinqAstVisitor<R> visitor)

      Accepts a GINQ visitor.

      Parameters:
        `visitor` - the visitor to accept
      Type Parameters:
        `R` - the visit result type
      Returns:
        the visit result

    - #### public void addJoinExpression(JoinExpression joinExpression)

      Adds a join clause.

      Parameters:
        `joinExpression` - the clause to add

    - #### public FromExpression getFromExpression()

      Returns the `from` clause.

      Returns:
        the `from` clause

    - #### public GroupExpression getGroupExpression()

      Returns the `groupby` clause.

      Returns:
        the `groupby` clause

    - #### public List<JoinExpression> getJoinExpressionList()

      Returns the join clauses.

      Returns:
        the join clauses

    - #### public LimitExpression getLimitExpression()

      Returns the `limit` clause.

      Returns:
        the `limit` clause

    - #### public OrderExpression getOrderExpression()

      Returns the `orderby` clause.

      Returns:
        the `orderby` clause

    - #### public SelectExpression getSelectExpression()

      Returns the `select` clause.

      Returns:
        the `select` clause

    - #### public String getText()

      Returns the textual GINQ form of this expression.

      Returns:
        the expression text

    - #### public WhereExpression getWhereExpression()

      Returns the `where` clause.

      Returns:
        the `where` clause

    - #### public void setFromExpression(FromExpression fromExpression)

      Sets the `from` clause.

      Parameters:
        `fromExpression` - the clause to set

    - #### public void setGroupExpression(GroupExpression groupExpression)

      Sets the `groupby` clause.

      Parameters:
        `groupExpression` - the clause to set

    - #### public void setLimitExpression(LimitExpression limitExpression)

      Sets the `limit` clause.

      Parameters:
        `limitExpression` - the clause to set

    - #### public void setOrderExpression(OrderExpression orderExpression)

      Sets the `orderby` clause.

      Parameters:
        `orderExpression` - the clause to set

    - #### public void setSelectExpression(SelectExpression selectExpression)

      Sets the `select` clause.

      Parameters:
        `selectExpression` - the clause to set

    - #### public void setWhereExpression(WhereExpression whereExpression)

      Sets the `where` clause.

      Parameters:
        `whereExpression` - the clause to set

    - #### public String toString()

      Returns the textual form of this expression.

      Returns:
        the expression text

    - #### public void visit(GroovyCodeVisitor visitor)

      Dispatches this expression to a GINQ-aware Groovy visitor.

      Parameters:
        `visitor` - the visitor to invoke