Enum Snippet.Kind

All Implemented Interfaces:
Serializable, Comparable<Snippet.Kind>
Enclosing class:
Snippet
public static enum Snippet.Kind
extends Enum<Snippet.Kind>

Describes the general kind of snippet. The 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 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.

Methods

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.

Methods declared in class java.lang.Enum

clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

Methods declared in class java.lang.Object

getClass, notify, notifyAll, wait, wait, wait

Enum Constants

IMPORT

public static final Snippet.Kind IMPORT

An import declaration: 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.

TYPE_DECL

public static final Snippet.Kind TYPE_DECL

A type declaration. Which includes: NormalClassDeclaration, EnumDeclaration, NormalInterfaceDeclaration, and AnnotationTypeDeclaration. The snippet is an instance of 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.

METHOD

public static final Snippet.Kind METHOD

A method declaration. The snippet is an instance of MethodSnippet.

VAR

public static final Snippet.Kind VAR

One variable declaration. Corresponding to one VariableDeclarator. The snippet is an instance of VarSnippet.

The variable may be with or without initializer, or be a temporary variable representing an expression -- see Snippet.SubKindto differentiate.

EXPRESSION

public static final Snippet.Kind EXPRESSION

An expression, with or without side-effects. The snippet is an instance of 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.

STATEMENT

public static final Snippet.Kind STATEMENT

A statement. The snippet is an instance of StatementSnippet.

ERRONEOUS

public static final Snippet.Kind ERRONEOUS

A syntactically incorrect input for which the specific kind could not be determined. The snippet is an instance of ErroneousSnippet.

Methods

values

public static Snippet.Kind[] values()

Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

for (Snippet.Kind c : Snippet.Kind.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static Snippet.Kind valueOf(String name)

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 name
NullPointerException - if the argument is null

isPersistent

public boolean isPersistent()

Indicates whether this 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().

Returns:
true if this Kind of Snippet is visible to subsequent evaluations; otherwise false