StaticField プローブ・オブジェクトは、すべてのプローブ実行済み Java クラスに新しい静的フィールドを挿入します。この静的フィールドはプローブ・フラグメントからアクセス可能で、これを使用してプローブ実行済みクラスの内部に情報を保管することができます。
「静的フィールド」とは、静的と宣言されたクラスのフィールドを指します。「静的変数」、「クラス・フィールド」、「クラス変数」(「インスタンス変数」に対して) と呼ばれることもあります。
StaticField オブジェクトはオプションです。
プロパティー | 説明 |
---|---|
type | 必須。type プロパティーは、新しいフィールドの Java 型ストリングを指定します。このストリングには、Java クラスの完全修飾名を指定する必要があります。例えば、java.lang.StringBuffer となります。 type のストリングでは、プリミティブ型や配列型ではなく、通常のクラス型を示す必要があります。 指定されたクラスは、プローブ実行済みクラスからアクセスできる引き数をとらないデフォルト・コンストラクターを持っている必要があります。 |
static private type fieldName = new type();
初期化の呼び出しは、プローブ実行済みクラスのクラス・イニシャライザーの先頭で行われます。クラスにクラス・イニシャライザーがない場合、クラス・イニシャライザーが 1 つ作成されます。プローブに StaticInitializer フラグメントが含まれている場合、StaticInitializer フラグメント・コードは、静的フィールドが構成された後で実行されます。
プローブ・フラグメントは、staticField データ項目を使用して、静的フィールドが参照するオブジェクトにアクセスできます。フラグメントでは、静的フィールドが参照するオブジェクトの状態を変更できますが、静的フィールドに別のオブジェクトを参照させることはできません。
1 つのプローブに指定できる StaticField オブジェクトは 1 つだけです。StaticField を使用してプローブ実行済みクラスに複数の項目を保管するには、ArrayList、HashMap、HashSet などの複合オブジェクト・タイプを使用するか、必要なデータ構造を持つ新しいクラスを定義して使用してください。
<staticField type="java.util.Date" /> <fragment type="staticInitializer"> <data type="staticField" name="lastInstanceDate" /> <code> . . . </code> </fragment>
Contained by
プローブ・オブジェクト