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

public Class SwitchEntry

extends Node
implements NodeWithStatements<SwitchEntry>
Class Inheritance
All Implemented Interfaces
com.github.javaparser.ast.nodeTypes.NodeWithStatements
Imports
com.github.javaparser.TokenRange, com.github.javaparser.ast.AllFieldsConstructor, .Generated, .Node, .NodeList, com.github.javaparser.ast.expr.Expression, com.github.javaparser.ast.nodeTypes.NodeWithStatements, com.github.javaparser.ast.observer.ObservableProperty, com.github.javaparser.ast.visitor.CloneVisitor, .GenericVisitor, .VoidVisitor, com.github.javaparser.metamodel.JavaParserMetaModel, .SwitchEntryMetaModel

One case in a switch statement

The main Javadoc is in SwitchStmt

Java 1.0-11

switch (i) {
  case 1:
  case 2:
    System.out.println(444);
    break;
  default:
    System.out.println(0);
}
This contains three SwitchEntrys.
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.
All of them are of type STATEMENT_GROUP.

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 Expression in an ExpressionStmt which is stored as the first and only statement in statements.
The second one is of type BLOCK and stores its BlockStmt as the first and only statement in statements.
The third one is of type THROWS_STATEMENT and stores its ThrowStmt as 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, com.github.javaparser.ast.expr.SwitchExpr

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum

Field Summary

Modifier and TypeField and Description
private NodeList<Expression>
private NodeList<Statement>
private SwitchEntry.Type
Inherited from com.github.javaparser.ast.Node:
ABSOLUTE_BEGIN_LINEABSOLUTE_END_LINENODE_BY_BEGIN_POSITIONprettyPrinterNoCommentsConfigurationSYMBOL_RESOLVER_KEY

Constructor Summary

AccessConstructor and Description
public
public
SwitchEntry(final NodeList<Expression> labels, final SwitchEntry.Type type, final NodeList<Statement> statements)

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 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 SwitchEntry
clone()

Overrides com.github.javaparser.ast.Node.clone.

Creates and returns a copy of this object.
public NodeList<Expression>
public SwitchEntryMetaModel
public NodeList<Statement>
public SwitchEntry.Type
public boolean
public boolean
replace(Node node, Node replacementNode)

Overrides com.github.javaparser.ast.Node.replace.

public SwitchEntry

Returns:

this, the SwitchEntry
setLabels
(final NodeList<Expression>
the label, can be null
labels
)

Sets the label

public SwitchEntry
public SwitchEntry
setType(final SwitchEntry.Type type)

Inherited from com.github.javaparser.ast.Node:
addOrphanCommentcontainsDatacustomInitializationequalsfindAllfindAllfindCompilationUnitfindFirstfindFirstfindFirstfindRootNodegetAllContainedCommentsgetChildNodesgetChildNodesByTypegetCommentgetDatagetDataKeysgetNodesByTypegetOrphanCommentsgetParentNodegetParentNodeForChildrengetParsedgetRangegetSymbolResolvergetTokenRangegetToStringPrettyPrinterConfigurationhashCodeisAncestorOfisRegisterednotifyPropertyChangeregisterregisterregisterForSubtreeremoveremoveCommentremoveDataremoveForcedremoveOrphanCommentreplacesetAsParentNodeOfsetAsParentNodeOfsetBlockCommentsetCommentsetDatasetLineCommentsetParentNodesetParsedsetRangesetTokenRangesetToStringPrettyPrinterConfigurationstreamstreamtoStringtoStringtryAddImportToParentCompilationUnitunregisterwalkwalkwalk

Field Detail

labelsback to summary
private NodeList<Expression> labels
statementsback to summary
private NodeList<Statement> statements
typeback to summary
private SwitchEntry.Type type

Constructor Detail

SwitchEntryback to summary
public SwitchEntry()
SwitchEntryback to summary
public SwitchEntry(final NodeList<Expression> labels, final SwitchEntry.Type type, final NodeList<Statement> statements)
Annotations
@AllFieldsConstructor
SwitchEntryback to summary
public SwitchEntry(TokenRange tokenRange, NodeList<Expression> labels, SwitchEntry.Type type, NodeList<Statement> statements)

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
cloneback to summary
public SwitchEntry clone()

Overrides com.github.javaparser.ast.Node.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:SwitchEntry

a clone of this instance.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.CloneGenerator
getLabelsback to summary
public NodeList<Expression> getLabels()
Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
getMetaModelback to summary
public SwitchEntryMetaModel getMetaModel()

Overrides com.github.javaparser.ast.Node.getMetaModel.

Returns:SwitchEntryMetaModel

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

get JavaParser specific node introspection information.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.GetMetaModelGenerator
getStatementsback to summary
public NodeList<Statement> getStatements()

Implements com.github.javaparser.ast.nodeTypes.NodeWithStatements.getStatements.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
getTypeback to summary
public SwitchEntry.Type getType()
Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
removeback to summary
public boolean remove(Node node)

Overrides com.github.javaparser.ast.Node.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.Node.replace.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.ReplaceMethodGenerator
setLabelsback to summary
public SwitchEntry setLabels(final NodeList<Expression> labels)

Sets the label

Parameters
labels:NodeList<Expression>

the label, can be null

Returns:SwitchEntry

this, the SwitchEntry

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
setStatementsback to summary
public SwitchEntry setStatements(final NodeList<Statement> statements)

Implements com.github.javaparser.ast.nodeTypes.NodeWithStatements.setStatements.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
setTypeback to summary
public SwitchEntry setType(final SwitchEntry.Type type)
Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
com.github.javaparser.ast.stmt back to summary

public final Enum SwitchEntry.Type

extends Enum<SwitchEntry.Type>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final SwitchEntry.Type
public static final SwitchEntry.Type
public static final SwitchEntry.Type
public static final SwitchEntry.Type

Constructor Summary

AccessConstructor and Description
private
Type()

Method Summary

Modifier and TypeMethod and Description
public static SwitchEntry.Type
public static SwitchEntry.Type[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

BLOCKback to summary
public static final SwitchEntry.Type BLOCK
EXPRESSIONback to summary
public static final SwitchEntry.Type EXPRESSION
STATEMENT_GROUPback to summary
public static final SwitchEntry.Type STATEMENT_GROUP
THROWS_STATEMENTback to summary
public static final SwitchEntry.Type THROWS_STATEMENT

Constructor Detail

Typeback to summary
private Type()

Method Detail

valueOfback to summary
public static SwitchEntry.Type valueOf(String name)
valuesback to summary
public static SwitchEntry.Type[] values()