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 aStatementin 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 ChildPropertyDescriptorEXPRESSION_PROPERTYDeprecated.In the JLS 12 15.28.1 API, this property is replaced byEXPRESSIONS2_PROPERTY.static ChildListPropertyDescriptorEXPRESSIONS2_PROPERTYThe "expression" structural property of this node type (child type:Expression).static SimplePropertyDescriptorSWITCH_LABELED_RULE_PROPERTYThe "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 Listexpressions()Returns the list of expressions of this switch case, oremptyif there is none (the "default:" case).ExpressiongetExpression()Deprecated.use expressions() (see JLS 12)booleanisDefault()Returns whether this switch case represents the "default:" case.booleanisSwitchLabeledRule()Gets the switchLabeledRule of this switch case astrueorfalse.static ListpropertyDescriptors(int apiLevel)Returns a list of structural property descriptors for this node type.voidsetExpression(Expression expression)Deprecated.see JLS 12voidsetSwitchLabeledRule(boolean switchLabeledRule)Sets the switchLabeledRule of this switch case astrueorfalse.-
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, ornullif there is none (the "default:" case).- Returns:
- the expression node, or
nullif there is none
-
expressions
public List expressions()
Returns the list of expressions of this switch case, oremptyif 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, ornullto 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 astrueorfalse.trueindicates "->" andfalseindicates ":".- Parameters:
switchLabeledRule-trueorfalse- Throws:
UnsupportedOperationException- if this operation is used below JLS14- Since:
- 3.22
-
isSwitchLabeledRule
public boolean isSwitchLabeledRule()
Gets the switchLabeledRule of this switch case astrueorfalse.trueindicates "->" andfalseindicates ":".- Returns:
- switchLabeledRule
trueorfalse - 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() == nullorexpressions().isEmpty().- Returns:
trueif this is the default switch case, andfalseif this is a non-default switch case
-
-