- All Implemented Interfaces:
Serializable
,Comparable<Snippet.Kind>
,Constable
- Enclosing class:
- Snippet
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.-
Nested Class Summary
-
Enum Constant Summary
Enum Constants 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. -
Method Summary
Modifier and Type Method Description boolean
isPersistent()
Indicates whether thisKind
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.
-
Enum Constant Details
-
IMPORT
An import declaration:import
... The snippet is an instance ofImportSnippet
.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
) -- useSnippet.subKind()
to distinguish.An import declaration is persistent.
- See Java Language Specification:
-
7.5 Import Declarations
-
TYPE_DECL
A type declaration. Which includes: NormalClassDeclaration, EnumDeclaration, NormalInterfaceDeclaration, and AnnotationTypeDeclaration. The snippet is an instance ofTypeDeclSnippet
.A type declaration may be an interface
Snippet.SubKind.INTERFACE_SUBKIND
, classesSnippet.SubKind.CLASS_SUBKIND
, enums, and annotation interfaces -- seeSnippet.SubKind
to differentiate.A type declaration is persistent.
- See Java Language Specification:
-
7.6 Top Level Type Declarations
-
METHOD
A method declaration. The snippet is an instance ofMethodSnippet
.A method declaration is persistent.
- See Java Language Specification:
-
8.4 Method Declarations
-
VAR
One variable declaration. Corresponding to one VariableDeclarator. The snippet is an instance ofVarSnippet
.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.
- See Java Language Specification:
-
8.3 Field Declarations
-
EXPRESSION
An expression, with or without side-effects. The snippet is an instance ofExpressionSnippet
.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) -- seeSnippet.SubKind
to differentiate. All other expression forms (operators, method calls, ...) generate a scratch variable and so are instead of the VAR Kind.- See Java Language Specification:
-
15 Expressions
-
STATEMENT
A statement. The snippet is an instance ofStatementSnippet
.- See Java Language Specification:
-
14.5 Statements
-
ERRONEOUS
A syntactically incorrect input for which the specific kind could not be determined. The snippet is an instance ofErroneousSnippet
.
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
isPersistent
public boolean isPersistent()Indicates whether thisKind
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()
.- Returns:
true
if thisKind
ofSnippet
is visible to subsequent evaluations; otherwisefalse
-