Package com.github.javaparser.ast.stmt
Class SwitchEntry
java.lang.Object
com.github.javaparser.ast.Node
com.github.javaparser.ast.stmt.SwitchEntry
- All Implemented Interfaces:
NodeWithRange<Node>,NodeWithStatements<SwitchEntry>,NodeWithTokenRange<Node>,Observable,Visitable,HasParentNode<Node>,Cloneable
One case in a switch statement
The main Javadoc is inSwitchStmt
Java 1.0-11
switch (i) {
case 1:
case 2:
System.out.println(444);
break;
default:
System.out.println(0);
}
This contains three SwitchEntrys. All of them are of type STATEMENT_GROUP.
- The first one has label 1 and no statements.
- The second has label 2 and two statements (the println and the break).
- The third, the default, has no label and one statement.
Java 12-
case 1 -> 15*15;
case 2 -> { a++; b++; }
case 3 -> throw new Exception();
These are three new variants.
- The first one is of type EXPRESSION and stores its
Expressionin anExpressionStmtwhich is stored as the first and only statement in statements. - The second one is of type BLOCK and stores its
BlockStmtas the first and only statement in statements. - The third one is of type THROWS_STATEMENT and stores its
ThrowStmtas the first and only statement in statements.
case MONDAY, FRIDAY, SUNDAY -> 6;
Multiple case labels are now allowed.
case 16*16, 10+10 -> 6;
Many kinds of expressions are now allowed.- Author:
- Julio Vilmar Gesser
- See Also:
SwitchStmt,SwitchExpr
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.github.javaparser.ast.Node
Node.BreadthFirstIterator, Node.DirectChildrenIterator, Node.ObserverRegistrationMode, Node.ParentsVisitor, Node.Parsedness, Node.PostOrderIterator, Node.PreOrderIterator, Node.TreeTraversal -
Field Summary
Fields inherited from class com.github.javaparser.ast.Node
ABSOLUTE_BEGIN_LINE, ABSOLUTE_END_LINE, LINE_SEPARATOR_KEY, NODE_BY_BEGIN_POSITION, PHANTOM_KEY, prettyPrinterNoCommentsConfiguration, PRINTER_KEY, SYMBOL_RESOLVER_KEY -
Constructor Summary
ConstructorsConstructorDescriptionSwitchEntry(NodeList<Expression> labels, SwitchEntry.Type type, NodeList<Statement> statements)SwitchEntry(TokenRange tokenRange, NodeList<Expression> labels, SwitchEntry.Type type, NodeList<Statement> statements)This constructor is used by the parser and is considered private. -
Method Summary
Modifier and TypeMethodDescription<R, A> Raccept(GenericVisitor<R,A> v, A arg)Accept method for visitor support.<A> voidaccept(VoidVisitor<A> v, A arg)Accept method for visitor support.clone()getType()booleanbooleansetLabels(NodeList<Expression> labels)Sets the labelsetStatements(NodeList<Statement> statements)setType(SwitchEntry.Type type)Methods inherited from class com.github.javaparser.ast.Node
addOrphanComment, containsData, createDefaultPrinter, createDefaultPrinter, customInitialization, equals, findAll, findAll, findAll, findCompilationUnit, findFirst, findFirst, findFirst, findRootNode, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getDataKeys, getDefaultPrinterConfiguration, getLineEndingStyle, getLineEndingStyleOrDefault, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getPrinter, getPrinter, getRange, getSymbolResolver, getTokenRange, hashCode, hasScope, isAncestorOf, isPhantom, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeData, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, stream, stream, toString, toString, tryAddImportToParentCompilationUnit, unregister, walk, walk, walkMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.github.javaparser.HasParentNode
findAncestor, findAncestor, hasParentNode, isDescendantOfMethods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithRange
containsWithin, containsWithinRange, getBegin, getEnd, hasRangeMethods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithStatements
addAndGetStatement, addAndGetStatement, addAndGetStatement, addAndGetStatement, addStatement, addStatement, addStatement, addStatement, addStatement, copyStatements, copyStatements, getStatement, isEmpty, setStatement
-
Constructor Details
-
SwitchEntry
public SwitchEntry() -
SwitchEntry
public SwitchEntry(NodeList<Expression> labels, SwitchEntry.Type type, NodeList<Statement> statements) -
SwitchEntry
public SwitchEntry(TokenRange tokenRange, NodeList<Expression> labels, SwitchEntry.Type type, NodeList<Statement> statements)This constructor is used by the parser and is considered private.
-
-
Method Details
-
accept
Description copied from interface:VisitableAccept method for visitor support.- Specified by:
acceptin interfaceVisitable- Type Parameters:
R- the type of the return value of the visitorA- the type the user argument passed to the visitor- Parameters:
v- the visitor implementationarg- the argument passed to the visitor (of type A)- Returns:
- the result of the visit (of type R)
-
accept
Description copied from interface:VisitableAccept method for visitor support. -
getLabels
-
getStatements
- Specified by:
getStatementsin interfaceNodeWithStatements<SwitchEntry>
-
setLabels
Sets the label- Parameters:
labels- the label, can be null- Returns:
- this, the SwitchEntry
-
setStatements
- Specified by:
setStatementsin interfaceNodeWithStatements<SwitchEntry>
-
remove
-
clone
-
getMetaModel
- Overrides:
getMetaModelin classNode- Returns:
- get JavaParser specific node introspection information.
-
getType
-
setType
-
replace
-