Serializable
, Comparable<Snippet.Kind>
public static enum Snippet.Kind extends Enum<Snippet.Kind>
Kind
is an immutable property of a Snippet.
It is accessed with Snippet.kind()
.
The Kind
can be used to determine which
subclass of Snippet it is. For example,
eval("int three() { return 3; }")
will
return a snippet creation event. The Kind
of that Snippet
will be METHOD
, from which you know that the subclass
of Snippet
is MethodSnippet
and it can be
cast as such.Enum Constant | Description |
---|---|
ERRONEOUS |
A syntactically incorrect input for which the specific
kind could not be determined.
|
EXPRESSION |
An expression, with or without side-effects.
|
IMPORT |
An import declaration:
import ... |
METHOD |
A method declaration.
|
STATEMENT |
A statement.
|
TYPE_DECL |
A type declaration.
|
VAR |
One variable declaration.
|
Modifier and Type | Method | Description |
---|---|---|
boolean |
isPersistent() |
Indicates whether this
Kind of Snippet is persistent. |
static Snippet.Kind |
valueOf(String name) |
Returns the enum constant of this type with the specified name.
|
static Snippet.Kind[] |
values() |
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final Snippet.Kind IMPORT
import
...
The snippet is an instance of ImportSnippet
.
An import can be a single type import
(Snippet.SubKind.SINGLE_TYPE_IMPORT_SUBKIND
),
a static single import
(Snippet.SubKind.SINGLE_STATIC_IMPORT_SUBKIND
),
an on-demand type import
(Snippet.SubKind.TYPE_IMPORT_ON_DEMAND_SUBKIND
),
or a static on-demand type import
(Snippet.SubKind.SINGLE_STATIC_IMPORT_SUBKIND
) --
use Snippet.subKind()
to distinguish.
An import declaration is persistent.
public static final Snippet.Kind TYPE_DECL
TypeDeclSnippet
.
A type declaration may be an interface
Snippet.SubKind.INTERFACE_SUBKIND
,
classes Snippet.SubKind.CLASS_SUBKIND
, enums, and
annotation interfaces -- see Snippet.SubKind
to
differentiate.
A type declaration is persistent.
public static final Snippet.Kind METHOD
MethodSnippet
.
A method declaration is persistent.
public static final Snippet.Kind VAR
VarSnippet
.
The variable may be with or without initializer, or be a temporary
variable representing an expression -- see
Snippet.SubKind
to differentiate.
A variable declaration is persistent.
public static final Snippet.Kind EXPRESSION
ExpressionSnippet
.
The expression is currently either a simple named reference to a
variable (Snippet.SubKind.VAR_VALUE_SUBKIND
) or an
assignment (both of which have natural referencing
names) -- see Snippet.SubKind
to differentiate.
All other expression forms (operators, method calls, ...) generate a
scratch variable and so are instead of the VAR Kind.
public static final Snippet.Kind STATEMENT
StatementSnippet
.
public static final Snippet.Kind ERRONEOUS
ErroneousSnippet
.public static Snippet.Kind[] values()
for (Snippet.Kind c : Snippet.Kind.values()) System.out.println(c);
public static Snippet.Kind valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic boolean isPersistent()
Kind
of Snippet is persistent. Only
declarations are persistent because they influence future Snippets.
Note that though the Kind
of
a Snippet may be persistent, that does not mean that the Snippet will
persist; For example it may be invalid or have been dropped. See:
Snippet.Status.isDefined()
.
true
if this Kind
of Snippet
is
visible to subsequent evaluations; otherwise false
Submit a bug or feature
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 2015, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-Ubuntu+0-9b154-1