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

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

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

StaticField オブジェクトの使用は任意です。

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

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

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

プローブに含めることができる StaticField オブジェクトは 1 つだけです。 StaticField を使用してプローブ済みクラスに複数の項目を保管するには、ArrayListHashMap、または HashSet といった複合オブジェクト・タイプを使用するか、あるいは、必要なデータ構造を持つ新しいクラスを定義して使用してください。

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

上位オブジェクト
プローブ・オブジェクト

親トピック: Probekit 参照

関連参照
staticInitializer プローブ・フラグメント

関連情報
staticField および staticInitializer の例

Copyright IBM Corporation and others 2000, 2004.