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

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

Author:
  James Strachan

## 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, getStatementLabel, getStatementLabels, isEmpty, setStatementLabel`

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

`copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition`

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

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

## 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