Package: org.codehaus.groovy.ast.stmt

## [Java] Class SwitchStatement

- org.codehaus.groovy.ast.stmt.SwitchStatement

- Represents a switch (object) { case value: ... case [1, 2, 3]: ... default: ... } statement in Groovy.

  Authors:
    James Strachan

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `interface Statement` | `CLOSE_CURRENT_RESULT, KEEP_CURRENT_RESULT, CLOSE_ALL_RESULTS, SUCCESS_NO_INFO, EXECUTE_FAILED, RETURN_GENERATED_KEYS, NO_GENERATED_KEYS`

  - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `Statement` | `defaultStatement`
    `Expression` | `expression`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `SwitchStatement (Expression expression)`
    `SwitchStatement (Expression expression, Statement defaultStatement)`
    `SwitchStatement (Expression expression, List<CaseStatement> caseStatements, Statement defaultStatement)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `void` | `addCase(CaseStatement caseStatement)`
    `` | `CaseStatement` | `getCaseStatement(int idx)` @return the case statement of the given index or null
    `` | `List<CaseStatement>` | `getCaseStatements()`
    `` | `Statement` | `getDefaultStatement()`
    `` | `Expression` | `getExpression()`
    `` | `void` | `setDefaultStatement(Statement defaultStatement)`
    `` | `void` | `setExpression(Expression e)`
    `` | `void` | `visit(GroovyCodeVisitor visitor)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface Statement` | `execute, execute, execute, execute, close, getConnection, isClosed, cancel, getResultSet, addBatch, clearBatch, closeOnCompletion, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, clearWarnings, getFetchDirection, getFetchSize, getWarnings, setFetchDirection, setFetchSize, unwrap, isWrapperFor`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Property Detail

    - #### Statement defaultStatement

    - #### Expression expression

  - ### Constructor Detail

    - #### public SwitchStatement(Expression expression)

    - #### public SwitchStatement(Expression expression, Statement defaultStatement)

    - #### public SwitchStatement(Expression expression, List<CaseStatement> caseStatements, Statement defaultStatement)

  - ### Method Detail

    - #### public void addCase(CaseStatement caseStatement)

    - #### public CaseStatement getCaseStatement(int idx)

      Returns:
        the case statement of the given index or null

    - #### public List<CaseStatement> getCaseStatements()

    - #### public Statement getDefaultStatement()

    - #### public Expression getExpression()

    - #### public void setDefaultStatement(Statement defaultStatement)

    - #### public void setExpression(Expression e)

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