模块 jdk.jshell

类 SnippetEvent

java.lang.Object
jdk.jshell.SnippetEvent

public class SnippetEvent extends Object
对代码段更改的描述。这些是通过使用 JShell.eval(String) JShell.drop(Snippet) 直接更改状态生成的,或者通过这些相同的方法间接生成的,因为依赖项更改或片段被覆盖。对于直接更改,causeSnippet() null

SnippetEvent 是不可变的:对其任何方法的访问都将始终返回相同的结果。因此是线程安全的。

自从:
9
  • 方法详情

    • snippet

      public Snippet  snippet()
      已更改的代码段
      返回:
      返回 Status 已更改的代码段。
    • previousStatus

      public Snippet.Status  previousStatus()
      转换前的状态。如果此事件描述了 Snippet 创建,则返回 NONEXISTENT
      返回:
      以前的状态
    • status

      public Snippet.Status  status()
      之后的状态。注意:这可能与以前的状态相同(并非所有更改都会导致 Status 更改。
      返回:
      状态
    • isSignatureChange

      public boolean isSignatureChange()
      指示签名是否已更改。进入或离开 定义 始终是签名更改。被覆盖的代码段 (status == OVERWRITTEN) 始终是 false,因为定义的责任已传递给覆盖定义。
      返回:
      true 如果签名更改;否则false
    • causeSnippet

      public Snippet  causeSnippet()
      其更改导致此更新的代码段或 null 。如果此更改是通过 eval 创建新代码段,或者是使用 drop 明确删除代码段,则返回 null
      返回:
      导致此更改的代码段或 null(如果直接由 API 操作引起)。
    • exception

      public JShellException  exception()
      UnresolvedReferenceException 的实例,如果遇到未解析的引用,或者 EvalException 的实例,如果在执行期间抛出异常,否则 null
      返回:
      例外或 null
    • value

      public String  value()
      运行成功的结果值。如果未执行或抛出异常,则值为 null。
      返回:
      值或 null
    • toString

      public String  toString()
      返回事件的字符串表示
      重写:
      toString 在类 Object
      返回:
      SnippetEvent 的描述性表示