StaticField プローブ・オブジェクト

StaticField プローブ・オブジェクトは、すべてのプローブ実行済み Java クラスに新しい静的フィールドを挿入します。この静的フィールドはプローブ・フラグメントからアクセス可能で、これを使用してプローブ実行済みクラスの内部に情報を保管することができます。

「静的フィールド」とは、静的と宣言されたクラスのフィールドを指します。「静的変数」、「クラス・フィールド」、「クラス変数」(「インスタンス変数」に対して) と呼ばれることもあります。

StaticField オブジェクトはオプションです。

StaticField オブジェクトには、次のプロパティーが含まれています。
プロパティー 説明
type 必須。type プロパティーは、新しいフィールドの Java 型ストリングを指定します。このストリングには、Java クラスの完全修飾名を指定する必要があります。例えば、java.lang.StringBuffer となります。 type のストリングでは、プリミティブ型や配列型ではなく、通常のクラス型を示す必要があります。 指定されたクラスは、プローブ実行済みクラスからアクセスできる引き数をとらないデフォルト・コンストラクターを持っている必要があります。
StaticField オブジェクトを使用すると、新しい静的フィールドの型のデフォルト・コンストラクターを呼び出すことによって、プローブ実行済みクラス内で新しい静的フィールドが初期化されます。クラス・スコープで、次のソース・コードをクラスに追加するのと同様です。
static private type fieldName = new type();

初期化の呼び出しは、プローブ実行済みクラスのクラス・イニシャライザーの先頭で行われます。クラスにクラス・イニシャライザーがない場合、クラス・イニシャライザーが 1 つ作成されます。プローブに StaticInitializer フラグメントが含まれている場合、StaticInitializer フラグメント・コードは、静的フィールドが構成された後で実行されます。

プローブ・フラグメントは、staticField データ項目を使用して、静的フィールドが参照するオブジェクトにアクセスできます。フラグメントでは、静的フィールドが参照するオブジェクトの状態を変更できますが、静的フィールドに別のオブジェクトを参照させることはできません。

1 つのプローブに指定できる StaticField オブジェクトは 1 つだけです。StaticField を使用してプローブ実行済みクラスに複数の項目を保管するには、ArrayListHashMapHashSet などの複合オブジェクト・タイプを使用するか、必要なデータ構造を持つ新しいクラスを定義して使用してください。

<staticField type="java.util.Date" />
<fragment type="staticInitializer">
   <data type="staticField" name="lastInstanceDate" />
   <code>      . . . 
   </code>
</fragment>

親トピック: Probekit エレメント参照

関連資料
データ・プローブ・オブジェクト

関連情報
staticField および staticInitializer の例

使用条件 | フィードバック
(C) Copyright IBM Corporation 2004. All Rights Reserved. (C) Copyright IBM Japan 2004