Module jdk.compiler

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