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, 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)`
  `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, newMetaDataMap, putNodeMetaData, removeNodeMetaData, setNodeMetaData`

- ## Constructor Details

  - ### SwitchStatement

    public SwitchStatement(Expression expression)

  - ### SwitchStatement

    public SwitchStatement(Expression expression, Statement defaultStatement)

  - ### SwitchStatement

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

- ## Method Details

  - ### visit

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

  - ### getCaseStatements

    public 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