CaseTree (Java SE 13 & JDK 13 )
Description: declaration: module: jdk.compiler, package: com.sun.source.tree, interface: CaseTree
Keywords: com.sun.source.tree.CaseTree interface

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