public class SwitchCase extends Statement
Statement in name only.
SwitchCase:
case Expression :
default :
Switch case allows multiple expressions and '->' as part of Java 12 preview feature (JEP 325)
case [ Expression { , Expression } ] { : | ->}
default { : | ->}
| Modifier and Type | Field and Description |
|---|---|
static ChildPropertyDescriptor |
EXPRESSION_PROPERTY
Deprecated.
In the JLS 12 15.28.1 API, this property is replaced by
EXPRESSIONS2_PROPERTY. |
static ChildListPropertyDescriptor |
EXPRESSIONS2_PROPERTY
The "expression" structural property of this node type (child type:
Expression). |
static SimplePropertyDescriptor |
SWITCH_LABELED_RULE_PROPERTY
The "switchLabeledRule" structural property of this node type (type:
Boolean). |
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT| Modifier and Type | Method and Description |
|---|---|
java.util.List |
expressions()
Returns the list of expressions of this switch case, or
empty if there is none (the "default:" case). |
Expression |
getExpression()
Deprecated.
use expressions() (see JLS 12)
|
boolean |
isDefault()
Returns whether this switch case represents the "default:" case.
|
boolean |
isSwitchLabeledRule()
Gets the switchLabeledRule of this switch case as
true or false. |
static java.util.List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.
|
void |
setExpression(Expression expression)
Deprecated.
see JLS 12
|
void |
setSwitchLabeledRule(boolean switchLabeledRule)
Sets the switchLabeledRule of this switch case as
true or false. |
getLeadingComment, setLeadingCommentaccept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toStringpublic static final ChildPropertyDescriptor EXPRESSION_PROPERTY
EXPRESSIONS2_PROPERTY.Expression).public static final ChildListPropertyDescriptor EXPRESSIONS2_PROPERTY
Expression). (added in JEP 325).public static final SimplePropertyDescriptor SWITCH_LABELED_RULE_PROPERTY
Boolean).public static java.util.List propertyDescriptors(int apiLevel)
apiLevel - the API level; one of the
AST.JLS* constantsStructuralPropertyDescriptor)public Expression getExpression()
null if there is none (the "default:" case).null if there is nonepublic java.util.List expressions()
empty if there is none (the "default:" case).
With previewEnabled flag as false it will have only one element.Expression)java.lang.UnsupportedOperationException - if this operation is used below JLS14public void setExpression(Expression expression)
expression - the expression node, or null to
turn it into the "default:" casejava.lang.IllegalArgumentException - if:
public void setSwitchLabeledRule(boolean switchLabeledRule)
true or false.
true indicates "->" and false indicates ":".switchLabeledRule - true or falsejava.lang.UnsupportedOperationException - if this operation is used below JLS14public boolean isSwitchLabeledRule()
true or false.
true indicates "->" and false indicates ":".true or falsejava.lang.UnsupportedOperationException - if this operation is used below JLS14public boolean isDefault()
This convenience method is equivalent to
getExpression() == null or expressions().isEmpty().
true if this is the default switch case, and
false if this is a non-default switch case