Class SnippetEvent

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 or null.
JShellException exception()
An instance of UnresolvedReferenceException, if an unresolved reference was encountered, or an instance of EvalException if an exception was thrown during execution, otherwise null.
boolean isSignatureChange()
Indicates whether the signature has changed.
Snippet.Status previousStatus()
The status before the transition.
Snippet snippet()
The Snippet which has changed
Snippet.Status status()
The after status.
String toString()
Return a string representation of the event
String value()
The result value of successful run.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Method Details

snippet

public Snippet snippet()
The Snippet which has changed
Returns:
the return the Snippet whose Status has changed.

previousStatus

public Snippet.Status previousStatus()
The status before the transition. If this event describes a Snippet creation return NONEXISTENT.
Returns:
the previousStatus

status

public Snippet.Status status()
The after status. Note: this may be the same as the previous status (not all changes cause a Status 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 always false as responsibility for the definition has passed to the overwriting definition.
Returns:
true if the signature changed; otherwise false

causeSnippet

public Snippet causeSnippet()
Either the snippet whose change caused this update or null. This returns null if this change is the creation of a new Snippet via eval or it is the explicit drop of a Snippet with drop.
Returns:
the Snippet which caused this change or null if directly caused by an API action.

exception

public JShellException exception()
An instance of UnresolvedReferenceException, if an unresolved reference was encountered, or an instance of EvalException if an exception was thrown during execution, otherwise null.
Returns:
the exception or null.

value

public String 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

public String toString()
Return a string representation of the event
Overrides:
toString in class Object
Returns:
a descriptive representation of the SnippetEvent

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.jshell/jdk/jshell/SnippetEvent.html