Package org.eclipse.jdt.core.dom
Class SwitchCase
- java.lang.Object
-
- org.eclipse.jdt.core.dom.ASTNode
-
- org.eclipse.jdt.core.dom.Statement
-
- org.eclipse.jdt.core.dom.SwitchCase
-
public class SwitchCase extends Statement
Switch case AST node type. A switch case is a special kind of node used only in switch statements. It is aStatement
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 { : | ->}
- Since:
- 2.0
- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static ChildPropertyDescriptor
EXPRESSION_PROPERTY
Deprecated.In the JLS 12 15.28.1 API, this property is replaced byEXPRESSIONS2_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
).-
Fields inherited from class org.eclipse.jdt.core.dom.ASTNode
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description List
expressions()
Returns the list of expressions of this switch case, orempty
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 astrue
orfalse
.static List
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.void
setExpression(Expression expression)
Deprecated.see JLS 12void
setSwitchLabeledRule(boolean switchLabeledRule)
Sets the switchLabeledRule of this switch case astrue
orfalse
.-
Methods inherited from class org.eclipse.jdt.core.dom.Statement
getLeadingComment, setLeadingComment
-
Methods inherited from class org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
-
-
-
-
Field Detail
-
EXPRESSION_PROPERTY
public static final ChildPropertyDescriptor EXPRESSION_PROPERTY
Deprecated.In the JLS 12 15.28.1 API, this property is replaced byEXPRESSIONS2_PROPERTY
.The "expression" structural property of this node type (child type:Expression
).- Since:
- 3.0
-
EXPRESSIONS2_PROPERTY
public static final ChildListPropertyDescriptor EXPRESSIONS2_PROPERTY
The "expression" structural property of this node type (child type:Expression
). (added in JEP 325).- Since:
- 3.18
- Restriction:
- This property is not intended to be referenced by clients as it is a part of Java preview feature.
-
SWITCH_LABELED_RULE_PROPERTY
public static final SimplePropertyDescriptor SWITCH_LABELED_RULE_PROPERTY
The "switchLabeledRule" structural property of this node type (type:Boolean
).- Since:
- 3.18
- Restriction:
- This property is not intended to be referenced by clients as it is a part of Java preview feature.
-
-
Method Detail
-
propertyDescriptors
public static List propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type. Clients must not modify the result.- Parameters:
apiLevel
- the API level; one of theAST.JLS*
constants- Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor
) - Since:
- 3.0
-
getExpression
public Expression getExpression()
Deprecated.use expressions() (see JLS 12)Returns the expression of this switch case, ornull
if there is none (the "default:" case).- Returns:
- the expression node, or
null
if there is none
-
expressions
public List expressions()
Returns the list of expressions of this switch case, orempty
if there is none (the "default:" case). With previewEnabled flag as false it will have only one element.- Returns:
- the list of expression nodes
(element type:
Expression
) - Throws:
UnsupportedOperationException
- if this operation is used below JLS14- Since:
- 3.22
-
setExpression
public void setExpression(Expression expression)
Deprecated.see JLS 12Sets the expression of this switch case, or clears it (turns it into the "default:" case).- Parameters:
expression
- the expression node, ornull
to turn it into the "default:" case- Throws:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
-
setSwitchLabeledRule
public void setSwitchLabeledRule(boolean switchLabeledRule)
Sets the switchLabeledRule of this switch case astrue
orfalse
.true
indicates "->" andfalse
indicates ":".- Parameters:
switchLabeledRule
-true
orfalse
- Throws:
UnsupportedOperationException
- if this operation is used below JLS14- Since:
- 3.22
-
isSwitchLabeledRule
public boolean isSwitchLabeledRule()
Gets the switchLabeledRule of this switch case astrue
orfalse
.true
indicates "->" andfalse
indicates ":".- Returns:
- switchLabeledRule
true
orfalse
- Throws:
UnsupportedOperationException
- if this operation is used below JLS14- Since:
- 3.22
-
isDefault
public boolean isDefault()
Returns whether this switch case represents the "default:" case.This convenience method is equivalent to
getExpression() == null
orexpressions().isEmpty()
.- Returns:
true
if this is the default switch case, andfalse
if this is a non-default switch case
-
-