W3cubDocs

/OpenJDK 21

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

Modifier and Type Interface Description
static enum  CaseTree.CaseKind
The syntactic form of this case: STATEMENT: case <expression>: <statements> RULE: case <expression> -> <expression>/<statement>

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

Tree.Kind

Method Summary

Modifier and Type Method Description
default Tree getBody()
For case with kind CaseTree.CaseKind.RULE, returns the statement or expression after the arrow.
default CaseTree.CaseKind getCaseKind()
Returns the kind of this case.
ExpressionTree getExpression()
Deprecated.
Please use getExpressions().
List<? extends ExpressionTree> getExpressions()
Returns the labels for this case.
ExpressionTree getGuard()
The guard for the case.
List<? extends CaseLabelTree> getLabels()
Returns the labels for this case.
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

@Deprecated ExpressionTree getExpression()
Deprecated.
Please use getExpressions().
Returns the expression for the case, or null if this is the default case. If this case has multiple labels, returns the first label.
Returns:
the expression for the case, or null

getExpressions

List<? extends ExpressionTree> getExpressions()
Returns the labels for this case. For default case, returns an empty list.
Returns:
labels for this case
Since:
12

getLabels

List<? extends CaseLabelTree> getLabels()
Returns the labels for this case. For default case return a list with a single element, DefaultCaseLabelTree.
Returns:
labels for this case
Since:
21

getGuard

ExpressionTree getGuard()
The guard for the case.
Returns:
the guard
Since:
21

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

default Tree getBody()
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

default CaseTree.CaseKind getCaseKind()
Returns the kind of this case.
Returns:
the kind of this case
Since:
12

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.compiler/com/sun/source/tree/CaseTree.html