Package org.codehaus.groovy.ast.stmt

# Class SwitchStatement

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.stmt.Statement
org.codehaus.groovy.ast.stmt.SwitchStatement

All Implemented Interfaces:
  `NodeMetaDataHandler`

    public class SwitchStatement
    extends Statement

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

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `SwitchStatement​(Expression expression)` |
  `SwitchStatement​(Expression expression, java.util.List<CaseStatement> caseStatements, Statement defaultStatement)` |
  `SwitchStatement​(Expression expression, Statement defaultStatement)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `addCase​(CaseStatement caseStatement)` |
  `CaseStatement` | `getCaseStatement​(int idx)` |
  `java.util.List<CaseStatement>` | `getCaseStatements()` |
  `Statement` | `getDefaultStatement()` |
  `Expression` | `getExpression()` |
  `void` | `setDefaultStatement​(Statement defaultStatement)` |
  `void` | `setExpression​(Expression e)` |
  `void` | `visit​(GroovyCodeVisitor visitor)` |

  ### Methods inherited from class org.codehaus.groovy.ast.stmt.Statement

  `addStatementLabel, copyStatementLabels, getStatementLabel, getStatementLabels, isEmpty, setStatementLabel`

  ### Methods inherited from class org.codehaus.groovy.ast.ASTNode

  `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler

  `copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData`

- ## Constructor Details

  - ### SwitchStatement

    public SwitchStatement​(Expression expression)

  - ### SwitchStatement

    public SwitchStatement​(Expression expression, Statement defaultStatement)

  - ### SwitchStatement

    public SwitchStatement​(Expression expression, java.util.List<CaseStatement> caseStatements, Statement defaultStatement)

- ## Method Details

  - ### visit

    public void visit​(GroovyCodeVisitor visitor)
    Overrides:
      `visit` in class `ASTNode`

  - ### getCaseStatements

    public java.util.List<CaseStatement> getCaseStatements()

  - ### getExpression

    public Expression getExpression()

  - ### setExpression

    public void setExpression​(Expression e)

  - ### getDefaultStatement

    public Statement getDefaultStatement()

  - ### setDefaultStatement

    public void setDefaultStatement​(Statement defaultStatement)

  - ### addCase

    public void addCase​(CaseStatement caseStatement)

  - ### getCaseStatement

    public CaseStatement getCaseStatement​(int idx)
    Returns:
      the case statement of the given index or null