モジュール jdk.jshell
パッケージ jdk.jshell

列挙型クラスSnippet.Status

java.lang.Object
java.lang.Enum<Snippet.Status>
jdk.jshell.Snippet.Status
すべての実装されたインタフェース:
Serializable, Comparable<Snippet.Status>, Constable
含まれているクラス:
Snippet

public static enum Snippet.Status extends Enum<Snippet.Status>
スニペットの現在の状態を示します。 これはJShell状態内のスニペットの動的プロパティです -- したがって、JShellでの問合せ」で検索されます。

状態が変わると、Statusが変化します。 たとえば、evalを使用して別のスニペットを作成すると、このスニペット(それらの依存関係を無効にします)、またはoverwriteのスニペットがStatusを変更することがあります。

Statusに関連する重要なプロパティ: isDefined()が他の既存のスニペットと新しいスニペットに見える場合isActive()、JShellの状態が変化すると、スニペットが更新され、おそらくStatusが変更されます。 実行可能なスニペットは、VALID Statusにある場合にのみ実行できます。

関連項目:
  • ネストされたクラスのサマリー

    クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース

    Enum.EnumDesc<E extends Enum<E>>
  • 列挙型定数のサマリー

    列挙型定数
    列挙型定数
    説明
    スニペットは、JShell.drop(Snippet)への明示的な呼び出しのために非アクティブです。
    スニペットはまだ存在しないため、非アクティブです。
    スニペットは新しいスニペットに置き換えられているため、非アクティブです。
    スニペットは、回復可能な未解決の参照やその他の問題が本文(現在のJShell状態のコンテキストで)にある宣言スニペットです。
    スニペットは、回復可能な未解決の参照やその他の問題がある可能性のある宣言スニペットです。(現在のJShell状態のコンテキストで)。
    スニペットは初期評価時にコンパイルに失敗し、JShell状態へのさらなる変更で有効になることができないため、非アクティブです。
    スニペットは有効なスニペット(現在のJShell状態のコンテキストで)です。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    スニペットがアクティブかどうか、つまり、ステータスを変更できる新しいJShell.eval(String)またはJShell.drop(Snippet)が呼び出されたときにpersistentスニペットが再評価されるかどうかを示します。
    boolean
    スニペットが現在JShellの定義済み状態の一部であるかどうかを示します。
    指定された名前を持つこのクラスのenum定数を返します。
    この列挙クラスの定数を含む配列を宣言されている順序で 返します。

    クラス java.lang.Enumで宣言されたメソッド

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

    クラス java.lang.Objectで宣言されたメソッド

    getClass, notify, notifyAll, wait, wait, wait
  • 列挙型定数の詳細

    • VALID

      public static final Snippet.Status VALID
      スニペットは有効なスニペット(現在のJShell状態のコンテキストで)です。 VALID Statusを持つスニペットのみを(すべてのVALIDスニペットに実行可能コードがあるわけではありません)で実行することができます。

      スニペットは(isDefined() == true)と定義されています。 スニペットが宣言または(Snippet.Kind.isPersistent())をインポートする場合、スニペットは他のスニペットから見えます

      依存関係が(isActive() == true)を変更するとスニペットが更新され、そのステータスはRECOVERABLE_DEFINEDRECOVERABLE_NOT_DEFINEDDROPPED、またはOVERWRITTENになる可能性があります。

    • RECOVERABLE_DEFINED

      public static final Snippet.Status RECOVERABLE_DEFINED
      スニペットは、回復可能な未解決の参照やその他の問題が本文(現在のJShell状態のコンテキストで)にある宣言スニペットです。 このStatusを持つことができるのはDeclarationSnippetだけです。

      スニペットは有効なシグネチャを持ち、他のスニペット(isDefined() == true)から見えますので、既存または新しいスニペットで参照できますが、スニペットは実行できません。 UnresolvedReferenceExceptionが実行しようとするとスローされます。

      依存関係が(isActive() == true)を変更するとスニペットが更新され、そのステータスはVALIDRECOVERABLE_NOT_DEFINEDDROPPED、またはOVERWRITTENになる可能性があります。

      ノート: RECOVERABLE_DEFINEDRECOVERABLE_NOT_DEFINEDはどちらも回復可能なエラーを示しますが、RECOVERABLE_DEFINEDの場合、スニペットはdefinedです。

    • RECOVERABLE_NOT_DEFINED

      public static final Snippet.Status RECOVERABLE_NOT_DEFINED
      スニペットは、回復可能な未解決の参照やその他の問題がある可能性のある宣言スニペットです。(現在のJShell状態のコンテキストで)。 このStatusを持つことができるのはDeclarationSnippetだけです。

      スニペットに無効なシグネチャが含まれているか、そうでなければ実装で定義できません。 スニペットは他のスニペット(isDefined() == false)には表示されず、したがって参照または実行することはできません。

      依存関係が(isActive() == true)を変更するとスニペットが更新され、そのステータスはVALIDRECOVERABLE_DEFINEDDROPPED、またはOVERWRITTENになる可能性があります。

      ノート: RECOVERABLE_DEFINEDRECOVERABLE_NOT_DEFINEDはどちらも回復可能なエラーを示しますが、RECOVERABLE_DEFINEDの場合、スニペットはdefinedです。

    • DROPPED

      public static final Snippet.Status DROPPED
      スニペットは、JShell.drop(Snippet)への明示的な呼び出しのために非アクティブです。

      スニペットは他のスニペット(isDefined() == false)には表示されないため、参照または実行することはできません。

      そのスニペットは、依存者が(isActive() == false)を変更すると更新されません。そのStatusは決して再び変更されません。

    • OVERWRITTEN

      public static final Snippet.Status OVERWRITTEN
      スニペットは新しいスニペットに置き換えられているため、非アクティブです。 これは、evalで追加された新しいスニペットが以前のスニペットと一致する場合に発生します。 名前が一致する場合、TypeDeclSnippetは別のTypeDeclSnippetと一致します。 たとえば、class X { }class X { int ii; }またはinterface X { }を上書きします。 MethodSnippetは、名前とパラメータの型が一致する場合、別のMethodSnippetと一致します。 たとえば、void m(int a) { }int m(int a) { return a+a; }を上書きします。 名前が一致する場合、VarSnippetは別のVarSnippetと一致します。 たとえば、double z;long z = 2L;を上書きします。 このStatusを持つことができるのはPersistentSnippetだけです。

      スニペットは他のスニペット(isDefined() == false)には表示されないため、参照または実行することはできません。

      そのスニペットは、依存者が(isActive() == false)を変更すると更新されません。そのStatusは決して再び変更されません。

    • REJECTED

      public static final Snippet.Status REJECTED
      スニペットは初期評価時にコンパイルに失敗し、JShell状態へのさらなる変更で有効になることができないため、非アクティブです。

      スニペットは他のスニペット(isDefined() == false)には表示されないため、参照または実行することはできません。

      そのスニペットは、依存者が(isActive() == false)を変更すると更新されません。そのStatusは決して再び変更されません。

    • NONEXISTENT

      public static final Snippet.Status NONEXISTENT
      スニペットはまだ存在しないため、非アクティブです。 新規スニペットの場合は、SnippetEvent.previousStatus内でのみ使用します。 JShell.status(Snippet)は、このStatusを返さません。

      Vacuously、isDefined()およびisActive()は両方ともfalseで定義されています。

  • メソッドの詳細

    • values

      public static Snippet.Status[] values()
      この列挙クラスの定数を含む配列を宣言されている順序で 返します。
      戻り値:
      この列挙クラスの定数を宣言されている順序で含む配列
    • valueOf

      public static Snippet.Status valueOf(String name)
      指定された名前を持つこのクラスのenum定数を返します。 文字列は、このクラスでenum定数を宣言するために使用される識別子とexactlyと一致する必要があります。 (不適切な空白文字は許可されません。)
      パラメータ:
      name - 返される列挙型定数の名前。
      戻り値:
      指定された名前を持つ列挙型定数
      例外:
      IllegalArgumentException - この列挙型クラスに指定された名前の定数がない場合
      NullPointerException - 引数がnullの場合
    • isActive

      public boolean isActive()
      スニペットがアクティブかどうか、つまり、ステータスを変更できる新しいJShell.eval(String)またはJShell.drop(Snippet)が呼び出されたときにpersistentスニペットが再評価されるかどうかを示します。 これはRECOVERABLE_NOT_DEFINEDであるスニペットが更新されるため、isDefined()よりも広いです。
      戻り値:
      スニペットがアクティブな場合はtrue;そうでなければfalse
    • isDefined

      public boolean isDefined()
      スニペットが現在JShellの定義済み状態の一部であるかどうかを示します。 他のスニペットのコンパイルには見えますか?
      戻り値:
      スニペットが定義されている場合はtrue;そうでなければfalse