Top Description Fields Constructors Methods
com.github.javaparser.ast.stmt

public Class SwitchStmt

extends Statement
implements SwitchNode
Class Inheritance
All Implemented Interfaces
com.github.javaparser.ast.nodeTypes.SwitchNode
Imports
com.github.javaparser.ast.AllFieldsConstructor, .NodeList, .Node, .Generated, com.github.javaparser.ast.expr.Expression, .NameExpr, com.github.javaparser.ast.nodeTypes.SwitchNode, com.github.javaparser.ast.observer.ObservableProperty, com.github.javaparser.ast.visitor.GenericVisitor, .VoidVisitor, .CloneVisitor, com.github.javaparser.metamodel.SwitchStmtMetaModel, .JavaParserMetaModel, com.github.javaparser.TokenRange, java.util.function.Consumer, java.util.Optional

The switch statement

Java 1.0-1.4

The basic C-like switch statement. It can switch only on integers.
switch(x) { case 5: case 6: a=100; break; case 9: a=33; break; default: throw new IllegalStateException(); };
In switch(a) { ... } the selector is "a", and the contents of the { ... } are the entries.

Java 5-6

Switching can now also be done on enum constants.

Java 7-11

Switching can now also be done on strings.

Java 12

In preparation for pattern matching, lots of changes are made: switch(x) { case BANANA,PEAR: b=10; break; default: b=5; };
switch(x) { case 5,6 -> println("uhuh"); default -> println("nope"); };

Java 13

The break statement has been reverted to what it was before Java 12, and break-with-value is now the YieldStatement.
Author
Julio Vilmar Gesser
See Also
SwitchEntry, com.github.javaparser.ast.expr.SwitchExpr, SwitchNode, BreakStmt, YieldStmt

Field Summary

Modifier and TypeField and Description
private NodeList<SwitchEntry>
private Expression

Constructor Summary

AccessConstructor and Description
public
public
SwitchStmt(final Expression selector, final NodeList<SwitchEntry> entries)

public
SwitchStmt(TokenRange tokenRange, Expression selector, NodeList<SwitchEntry> entries)

This constructor is used by the parser and is considered private.

Method Summary

Modifier and TypeMethod and Description
public <R, A> R
accept(final GenericVisitor<R, A>
the visitor implementation
v
,
final A
the argument passed to the visitor (of type A)
arg
)

Implements com.github.javaparser.ast.visitor.Visitable.accept.

Accept method for visitor support.
public <A> void
accept(final VoidVisitor<A>
the visitor implementation
v
,
final A
any value relevant for the visitor (of type A)
arg
)

Implements com.github.javaparser.ast.visitor.Visitable.accept.

Accept method for visitor support.
public SwitchStmt
public SwitchStmt
clone()

Overrides com.github.javaparser.ast.stmt.Statement.clone.

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.clone.

Creates and returns a copy of this object.
public NodeList<SwitchEntry>
public SwitchEntry
public SwitchStmtMetaModel
public Expression
public void
public boolean
public boolean
public boolean
public SwitchStmt
public SwitchStmt
public Optional<SwitchStmt>
Inherited from com.github.javaparser.ast.stmt.Statement:
asAssertStmtasBlockStmtasBreakStmtasContinueStmtasDoStmtasEmptyStmtasExplicitConstructorInvocationStmtasExpressionStmtasForEachStmtasForStmtasIfStmtasLabeledStmtasLocalClassDeclarationStmtasReturnStmtasSynchronizedStmtasThrowStmtasTryStmtasUnparsableStmtasWhileStmtasYieldStmtifAssertStmtifBlockStmtifBreakStmtifContinueStmtifDoStmtifEmptyStmtifExplicitConstructorInvocationStmtifExpressionStmtifForEachStmtifForStmtifIfStmtifLabeledStmtifLocalClassDeclarationStmtifReturnStmtifSynchronizedStmtifThrowStmtifTryStmtifUnparsableStmtifWhileStmtifYieldStmtisAssertStmtisBlockStmtisBreakStmtisContinueStmtisDoStmtisEmptyStmtisExplicitConstructorInvocationStmtisExpressionStmtisForEachStmtisForStmtisIfStmtisLabeledStmtisLocalClassDeclarationStmtisReturnStmtisSynchronizedStmtisThrowStmtisTryStmtisUnparsableStmtisWhileStmtisYieldStmttoAssertStmttoBlockStmttoBreakStmttoContinueStmttoDoStmttoEmptyStmttoExplicitConstructorInvocationStmttoExpressionStmttoForEachStmttoForStmttoIfStmttoLabeledStmttoLocalClassDeclarationStmttoReturnStmttoSynchronizedStmttoThrowStmttoTryStmttoUnparsableStmttoWhileStmttoYieldStmt

Field Detail

entriesback to summary
private NodeList<SwitchEntry> entries
selectorback to summary
private Expression selector

Constructor Detail

SwitchStmtback to summary
public SwitchStmt()
SwitchStmtback to summary
public SwitchStmt(final Expression selector, final NodeList<SwitchEntry> entries)
Annotations
@AllFieldsConstructor
SwitchStmtback to summary
public SwitchStmt(TokenRange tokenRange, Expression selector, NodeList<SwitchEntry> entries)

This constructor is used by the parser and is considered private.

Annotations
@Generated:com.github.javaparser.generator.core.node.MainConstructorGenerator

Method Detail

acceptback to summary
public <R, A> R accept(final GenericVisitor<R, A> v, final A arg)

Implements com.github.javaparser.ast.visitor.Visitable.accept.

Doc from com.github.javaparser.ast.visitor.Visitable.accept.

Accept method for visitor support.

Parameters
<R>
the type of the return value of the visitor
<A>
the type the user argument passed to the visitor
v:GenericVisitor<R, A>

the visitor implementation

arg:A

the argument passed to the visitor (of type A)

Returns:R

the result of the visit (of type R)

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.AcceptGenerator
acceptback to summary
public <A> void accept(final VoidVisitor<A> v, final A arg)

Implements com.github.javaparser.ast.visitor.Visitable.accept.

Doc from com.github.javaparser.ast.visitor.Visitable.accept.

Accept method for visitor support.

Parameters
<A>
the type the argument passed for the visitor
v:VoidVisitor<A>

the visitor implementation

arg:A

any value relevant for the visitor (of type A)

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.AcceptGenerator
asSwitchStmtback to summary
public SwitchStmt asSwitchStmt()

Overrides com.github.javaparser.ast.stmt.Statement.asSwitchStmt.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.TypeCastingGenerator
cloneback to summary
public SwitchStmt clone()

Overrides com.github.javaparser.ast.stmt.Statement.clone.

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.clone.

Doc from java.lang.Object.clone.

Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object x, the expression:

x.clone() != x
will be true, and that the expression:
x.clone().getClass() == x.getClass()
will be true, but these are not absolute requirements. While it is typically the case that:
x.clone().equals(x)
will be true, this is not an absolute requirement.

By convention, the returned object should be obtained by calling super.clone. If a class and all of its superclasses (except Object) obey this convention, it will be the case that x.clone().getClass() == x.getClass().

By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by super.clone before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by super.clone need to be modified.

Returns:SwitchStmt

a clone of this instance.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.CloneGenerator
getEntriesback to summary
public NodeList<SwitchEntry> getEntries()

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.getEntries.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
getEntryback to summary
public SwitchEntry getEntry(int i)

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.getEntry.

getMetaModelback to summary
public SwitchStmtMetaModel getMetaModel()

Overrides com.github.javaparser.ast.stmt.Statement.getMetaModel.

Returns:SwitchStmtMetaModel

Doc from com.github.javaparser.ast.Node.getMetaModel.

get JavaParser specific node introspection information.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.GetMetaModelGenerator
getSelectorback to summary
public Expression getSelector()

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.getSelector.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
ifSwitchStmtback to summary
public void ifSwitchStmt(Consumer<SwitchStmt> action)

Overrides com.github.javaparser.ast.stmt.Statement.ifSwitchStmt.

Annotations
@Generated:com.github.javaparser.generator.core.node.TypeCastingGenerator
isSwitchStmtback to summary
public boolean isSwitchStmt()

Overrides com.github.javaparser.ast.stmt.Statement.isSwitchStmt.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.TypeCastingGenerator
removeback to summary
public boolean remove(Node node)

Overrides com.github.javaparser.ast.stmt.Statement.remove.

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.remove.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.RemoveMethodGenerator
replaceback to summary
public boolean replace(Node node, Node replacementNode)

Overrides com.github.javaparser.ast.stmt.Statement.replace.

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.replace.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.ReplaceMethodGenerator
setEntriesback to summary
public SwitchStmt setEntries(final NodeList<SwitchEntry> entries)

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.setEntries.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
setSelectorback to summary
public SwitchStmt setSelector(final Expression selector)

Implements com.github.javaparser.ast.nodeTypes.SwitchNode.setSelector.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
toSwitchStmtback to summary
public Optional<SwitchStmt> toSwitchStmt()

Overrides com.github.javaparser.ast.stmt.Statement.toSwitchStmt.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.TypeCastingGenerator