Module jdk.jshell
Package jdk.jshell

Class 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 Detail

      • 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.
      • 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