java.lang.Object
jdk.jshell.SnippetEvent
public class SnippetEvent extends Object
A description of a change to a Snippet. These are generated by direct changes
to state with
JShell.eval(String)
or
JShell.drop(Snippet)
,
or indirectly by these same methods as
dependencies change or Snippets are overwritten. For direct changes, the
causeSnippet()
is null
.
SnippetEvent
is immutable: an access to
any of its methods will always return the same result.
and thus is thread-safe.
- Since:
- 9
-
Method Summary
Modifier and Type Method Description Snippet
causeSnippet()
Either the snippet whose change caused this update ornull
.JShellException
exception()
An instance ofUnresolvedReferenceException
, if an unresolved reference was encountered, or an instance ofEvalException
if an exception was thrown during execution, otherwisenull
.boolean
isSignatureChange()
Indicates whether the signature has changed.Snippet.Status
previousStatus()
The status before the transition.Snippet
snippet()
The Snippet which has changedSnippet.Status
status()
The after status.String
toString()
Return a string representation of the eventString
value()
The result value of successful run.
-
Method Details
-
snippet
The Snippet which has changed- Returns:
- the return the Snippet whose
Status
has changed.
-
previousStatus
The status before the transition. If this event describes a Snippet creation returnNONEXISTENT
.- Returns:
- the previousStatus
-
status
The after status. Note: this may be the same as the previous status (not all changes cause aStatus
change.- Returns:
- the status
-
isSignatureChange
public boolean isSignatureChange()Indicates whether the signature has changed. Coming in or out of definition is always a signature change. An overwritten Snippet(status == OVERWRITTEN)
is alwaysfalse
as responsibility for the definition has passed to the overwriting definition.- Returns:
true
if the signature changed; otherwisefalse
-
causeSnippet
Either the snippet whose change caused this update ornull
. This returnsnull
if this change is the creation of a new Snippet viaeval
or it is the explicit drop of a Snippet withdrop
.- Returns:
- the Snippet which caused this change or
null
if directly caused by an API action.
-
exception
An instance ofUnresolvedReferenceException
, if an unresolved reference was encountered, or an instance ofEvalException
if an exception was thrown during execution, otherwisenull
.- Returns:
- the exception or
null
.
-
value
The result value of successful run. The value is null if not executed or an exception was thrown.- Returns:
- the value or
null
.
-
toString
Return a string representation of the event
-