- java.lang.Object
-
- java.lang.Enum<Snippet.Status>
-
- jdk.jshell.Snippet.Status
-
- すべての実装されたインタフェース:
Serializable,Comparable<Snippet.Status>
- 含まれているクラス:
- Snippet
public static enum Snippet.Status extends Enum<Snippet.Status>
スニペットの現在の状態を示します。 これはJShell状態内のスニペットの動的プロパティです-- したがって、「 {@code JShell}の問合せ」で検索されます。状態が変わると、
Statusが変化します。 たとえば、evalを使用して別のスニペットを作成すると、このスニペット(それらの依存関係を無効にします)、またはoverwriteのスニペットがStatusを変更することがあります。Statusに関連する重要なプロパティ:isDefined()が他の既存のスニペットと新しいスニペットに見える場合isActive()、JShellの状態が変化すると、スニペットが更新され、おそらくStatusが変更されます。 実行可能なスニペットは、VALIDStatusにある場合にのみ実行できます。
-
-
列挙型定数のサマリー
列挙型定数 列挙型定数 説明 DROPPEDスニペットは、JShell.drop(Snippet)への明示的な呼び出しのために非アクティブです。NONEXISTENTスニペットはまだ存在しないため、非アクティブです。OVERWRITTENスニペットは新しいスニペットに置き換えられているため、非アクティブです。RECOVERABLE_DEFINEDスニペットは、回復可能な未解決の参照やその他の問題が本文(現在のJShell状態のコンテキストで)にある宣言スニペットです。RECOVERABLE_NOT_DEFINEDスニペットは、回復可能な未解決の参照やその他の問題がある可能性のある宣言スニペットです。(現在のJShell状態のコンテキストで)。REJECTEDスニペットは初期評価時にコンパイルに失敗し、JShell状態へのさらなる変更で有効になることができないため、非アクティブです。VALIDスニペットは有効なスニペット(現在のJShell状態のコンテキストで)です。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 booleanisActive()スニペットがアクティブかどうか、つまり、ステータスを変更できる新しいJShell.eval(String)またはJShell.drop(Snippet)が呼び出されたときにpersistentスニペットが再評価されるかどうかを示します。booleanisDefined()スニペットが現在JShellの定義済み状態の一部であるかどうかを示します。static Snippet.StatusvalueOf(String name)指定された名前を持つ、この型の列挙型定数を返します。static Snippet.Status[]values()この列挙型の定数を含む配列を、宣言されている順序で返します。
-
-
-
列挙型定数の詳細
-
VALID
public static final Snippet.Status VALID
スニペットは有効なスニペット(現在のJShell状態のコンテキストで)です。VALIDStatusを持つスニペットのみを(すべてのVALIDスニペットに実行可能コードがあるわけではありません)で実行することができます。スニペットは(
isDefined() == true)と定義されています。 スニペットが宣言または(Snippet.Kind.isPersistent())をインポートする場合、スニペットは他のスニペットから見えます依存関係が(
isActive() == true)を変更するとスニペットが更新され、そのステータスはRECOVERABLE_DEFINED、RECOVERABLE_NOT_DEFINED、DROPPED、またはOVERWRITTENになる可能性があります。
-
RECOVERABLE_DEFINED
public static final Snippet.Status RECOVERABLE_DEFINED
スニペットは、回復可能な未解決の参照やその他の問題が本文(現在のJShell状態のコンテキストで)にある宣言スニペットです。 このStatusを持つことができるのはDeclarationSnippetだけです。スニペットは有効なシグネチャを持ち、他のスニペット(
isDefined() == true)から見えますので、既存または新しいスニペットで参照できますが、スニペットは実行できません。UnresolvedReferenceExceptionが実行しようとするとスローされます。依存関係が(
isActive() == true)を変更するとスニペットが更新され、そのステータスはVALID、RECOVERABLE_NOT_DEFINED、DROPPED、またはOVERWRITTENになる可能性があります。ノート:
RECOVERABLE_DEFINEDとRECOVERABLE_NOT_DEFINEDはどちらも回復可能なエラーを示しますが、RECOVERABLE_DEFINEDの場合、スニペットはdefinedです。
-
RECOVERABLE_NOT_DEFINED
public static final Snippet.Status RECOVERABLE_NOT_DEFINED
スニペットは、回復可能な未解決の参照やその他の問題がある可能性のある宣言スニペットです。(現在のJShell状態のコンテキストで)。 このStatusを持つことができるのはDeclarationSnippetだけです。スニペットに無効なシグネチャが含まれているか、そうでなければ実装で定義できません。 スニペットは他のスニペット(
isDefined() == false)には表示されず、したがって参照または実行することはできません。依存関係が(
isActive() == true)を変更するとスニペットが更新され、そのステータスはVALID、RECOVERABLE_DEFINED、DROPPED、またはOVERWRITTENになる可能性があります。ノート:
RECOVERABLE_DEFINEDとRECOVERABLE_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()
この列挙型の定数を含む配列を、宣言されている順序で返します。 このメソッドは、次のようにして定数を反復するために使用できます。for (Snippet.Status c : Snippet.Status.values()) System.out.println(c);
- 戻り値:
- この列挙型の定数を含む配列(宣言されている順序)
-
valueOf
public static Snippet.Status valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に一致している必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
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
-
-