Module jdk.compiler
Package com.sun.source.tree

# Interface CaseTree

All Superinterfaces:
  `Tree`

    public interface CaseTree
    extends Tree

A tree node for a `case` in a `switch` statement or expression. For example:

       case expression :
           statements

       default :
           statements

See Java Language Specification:
  14.11 The switch Statement
Since:
  1.6

## Nested Class Summary

Nested Classes
Modifier and Type | Interface | Description
--- | --- | ---
`static class` | `CaseTree.CaseKind` | Deprecated, for removal: This API element is subject to removal in a future version. This enum is used to model a rule case, which is part of a preview feature and may be removed if the preview feature is removed.

## Nested classes/interfaces declared in interface com.sun.source.tree.Tree

`Tree.Kind`

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`default Tree` | `getBody()` | Deprecated, for removal: This API element is subject to removal in a future version. This method is modeling a rule case, which is part of a preview feature and may be removed if the preview feature is removed.
`default CaseTree.CaseKind` | `getCaseKind()` | Deprecated, for removal: This API element is subject to removal in a future version. This method is used to model a rule case, which is part of a preview feature and may be removed if the preview feature is removed.
`ExpressionTree` | `getExpression()` | Returns the expression for the case, or `null` if this is the default case.
`List<? extends ExpressionTree>` | `getExpressions()` | Deprecated, for removal: This API element is subject to removal in a future version. This method is modeling a case with multiple labels, which is part of a preview feature and may be removed if the preview feature is removed.
`List<? extends StatementTree>` | `getStatements()` | For case with kind CaseTree.CaseKind.STATEMENT, returns the statements labeled by the case.

### Methods declared in interface com.sun.source.tree.Tree

`accept, getKind`

## Method Details

### getExpression

ExpressionTree getExpression()
Returns the expression for the case, or `null` if this is the default case. If this case has multiple lables, returns the first label.

Returns:
  the expression for the case, or null

### getExpressions

@Deprecated(forRemoval=true, since="12") List<? extends ExpressionTree> getExpressions()
Deprecated, for removal: This API element is subject to removal in a future version.
This method is modeling a case with multiple labels, which is part of a preview feature and may be removed if the preview feature is removed.
Returns the labels for this case. For default case, returns an empty list.

Returns:
  labels for this case
Since:
  12

### getStatements

List<? extends StatementTree> getStatements()
For case with kind CaseTree.CaseKind.STATEMENT, returns the statements labeled by the case. Returns `null` for case with kind CaseTree.CaseKind.RULE.

Returns:
  the statements labeled by the case or null

### getBody

@Deprecated(forRemoval=true, since="12") default Tree getBody()
Deprecated, for removal: This API element is subject to removal in a future version.
This method is modeling a rule case, which is part of a preview feature and may be removed if the preview feature is removed.
For case with kind CaseTree.CaseKind.RULE, returns the statement or expression after the arrow. Returns `null` for case with kind CaseTree.CaseKind.STATEMENT.

Returns:
  case value or null
Since:
  12

### getCaseKind

@Deprecated(forRemoval=true, since="12") default CaseTree.CaseKind getCaseKind()
Deprecated, for removal: This API element is subject to removal in a future version.
This method is used to model a rule case, which is part of a preview feature and may be removed if the preview feature is removed.
Returns the kind of this case.

Returns:
  the kind of this case
Since:
  12