Module jdk.jshell
Package jdk.jshell

# Enum Class Snippet.SubKind

java.lang.Object
java.lang.Enum<Snippet.SubKind>
jdk.jshell.Snippet.SubKind

All Implemented Interfaces:
  `Serializable`, `Comparable<Snippet.SubKind>`, `Constable`

Enclosing class:
  `Snippet`

public static enum Snippet.SubKind extends Enum<Snippet.SubKind>
The detailed variety of a snippet. This is a sub-classification of the Kind. The Kind of a SubKind is accessible with `kind()`.

## Nested Class Summary

## Nested classes/interfaces declared in class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`ANNOTATION_TYPE_SUBKIND`
An annotation interface declaration.
`ASSIGNMENT_SUBKIND`
An assignment expression.
`CLASS_SUBKIND`
A class declaration.
`ENUM_SUBKIND`
An enum declaration.
`INTERFACE_SUBKIND`
An interface declaration.
`METHOD_SUBKIND`
A method.
`OTHER_EXPRESSION_SUBKIND`
An expression which has not been wrapped in a temporary variable (reserved).
`RECORD_SUBKIND`
A record declaration.
`SINGLE_STATIC_IMPORT_SUBKIND`
Single-Static-Import Declaration.
`SINGLE_TYPE_IMPORT_SUBKIND`
Single-Type-Import Declaration.
`STATEMENT_SUBKIND`
A statement.
`STATIC_IMPORT_ON_DEMAND_SUBKIND`
Static-Import-on-Demand Declaration.
`TEMP_VAR_EXPRESSION_SUBKIND`
An expression whose value has been stored in a temporary variable.
`TYPE_IMPORT_ON_DEMAND_SUBKIND`
Type-Import-on-Demand Declaration.
`UNKNOWN_SUBKIND`
An unknown snippet.
`VAR_DECLARATION_SUBKIND`
A variable declaration without initializer.
`VAR_DECLARATION_WITH_INITIALIZER_SUBKIND`
A variable declaration with an initializer expression.
`VAR_VALUE_SUBKIND`
A simple variable reference expression.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`hasValue()`
Indicates whether this `SubKind` is executable and is non-`void`.
`boolean`
`isExecutable()`
Indicates whether this `SubKind` is executable.
`Snippet.Kind`
`kind()`
The `Snippet.Kind` that corresponds to this `SubKind`.
`static Snippet.SubKind`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static Snippet.SubKind[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.

### Methods declared in class java.lang.Enum

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

### Methods declared in class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### SINGLE_TYPE_IMPORT_SUBKIND

public static final Snippet.SubKind SINGLE_TYPE_IMPORT_SUBKIND
Single-Type-Import Declaration. An import declaration of a single type.

See Java Language Specification:
  7.5.1 Single-Type-Import Declarations

### TYPE_IMPORT_ON_DEMAND_SUBKIND

public static final Snippet.SubKind TYPE_IMPORT_ON_DEMAND_SUBKIND
Type-Import-on-Demand Declaration. A non-static "star" import.

See Java Language Specification:
  7.5.2 Type-Import-on-Demand Declarations

### SINGLE_STATIC_IMPORT_SUBKIND

public static final Snippet.SubKind SINGLE_STATIC_IMPORT_SUBKIND
Single-Static-Import Declaration. An import of a static member.

See Java Language Specification:
  7.5.3 Single-Static-Import Declarations

### STATIC_IMPORT_ON_DEMAND_SUBKIND

public static final Snippet.SubKind STATIC_IMPORT_ON_DEMAND_SUBKIND
Static-Import-on-Demand Declaration. A static "star" import of all static members of a named type.

See Java Language Specification:
  7.5.4 Static-Import-on-Demand Declarations

### CLASS_SUBKIND

public static final Snippet.SubKind CLASS_SUBKIND
A class declaration. A `SubKind` of `Snippet.Kind.TYPE_DECL`.

See Java Language Specification:
  8.1 Class Declarations

### INTERFACE_SUBKIND

public static final Snippet.SubKind INTERFACE_SUBKIND
An interface declaration. A `SubKind` of `Snippet.Kind.TYPE_DECL`.

See Java Language Specification:
  9.1 Interface Declarations

### ENUM_SUBKIND

public static final Snippet.SubKind ENUM_SUBKIND
An enum declaration. A `SubKind` of `Snippet.Kind.TYPE_DECL`.

See Java Language Specification:
  8.9 Enum Types

### RECORD_SUBKIND

public static final Snippet.SubKind RECORD_SUBKIND
A record declaration. A `SubKind` of `Snippet.Kind.TYPE_DECL`.

See Java Language Specification:
  8.10 Record Types
Since:
  14

### ANNOTATION_TYPE_SUBKIND

public static final Snippet.SubKind ANNOTATION_TYPE_SUBKIND
An annotation interface declaration. A `SubKind` of `Snippet.Kind.TYPE_DECL`.

See Java Language Specification:
  9.6 Annotation Types

### METHOD_SUBKIND

public static final Snippet.SubKind METHOD_SUBKIND
A method. The only `SubKind` for `Snippet.Kind.METHOD`.

See Java Language Specification:
  8.4 Method Declarations

### VAR_DECLARATION_SUBKIND

public static final Snippet.SubKind VAR_DECLARATION_SUBKIND
A variable declaration without initializer. A `SubKind` of `Snippet.Kind.VAR`.

See Java Language Specification:
  8.3 Field Declarations

### VAR_DECLARATION_WITH_INITIALIZER_SUBKIND

public static final Snippet.SubKind VAR_DECLARATION_WITH_INITIALIZER_SUBKIND
A variable declaration with an initializer expression. A `SubKind` of `Snippet.Kind.VAR`.

See Java Language Specification:
  8.3 Field Declarations

### TEMP_VAR_EXPRESSION_SUBKIND

public static final Snippet.SubKind TEMP_VAR_EXPRESSION_SUBKIND
An expression whose value has been stored in a temporary variable. A `SubKind` of `Snippet.Kind.VAR`.

See Java Language Specification:
  15 Expressions

### VAR_VALUE_SUBKIND

public static final Snippet.SubKind VAR_VALUE_SUBKIND
A simple variable reference expression. A `SubKind` of `Snippet.Kind.EXPRESSION`.

See Java Language Specification:
  15.11 Field Access Expressions

### ASSIGNMENT_SUBKIND

public static final Snippet.SubKind ASSIGNMENT_SUBKIND
An assignment expression. A `SubKind` of `Snippet.Kind.EXPRESSION`.

See Java Language Specification:
  15.26 Assignment Operators

### OTHER_EXPRESSION_SUBKIND

public static final Snippet.SubKind OTHER_EXPRESSION_SUBKIND
An expression which has not been wrapped in a temporary variable (reserved). A `SubKind` of `Snippet.Kind.EXPRESSION`.

### STATEMENT_SUBKIND

public static final Snippet.SubKind STATEMENT_SUBKIND
A statement. The only `SubKind` for `Snippet.Kind.STATEMENT`.

See Java Language Specification:
  14.5 Statements

### UNKNOWN_SUBKIND

public static final Snippet.SubKind UNKNOWN_SUBKIND
An unknown snippet. The only `SubKind` for `Snippet.Kind.ERRONEOUS`.

## Method Details

### values

public static Snippet.SubKind[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

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

### valueOf

public static Snippet.SubKind valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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 class has no constant with the specified name
  `NullPointerException` - if the argument is null

### isExecutable

public boolean isExecutable()
Indicates whether this `SubKind` is executable.

Returns:
  `true` if this `SubKind` can be executed; otherwise `false`

### hasValue

public boolean hasValue()
Indicates whether this `SubKind` is executable and is non-`void`.

Returns:
  `true` if this `SubKind` has a value; otherwise `false`

### kind

public Snippet.Kind kind()
The `Snippet.Kind` that corresponds to this `SubKind`.

Returns:
  the fixed `Kind` for this `SubKind`