act_location 変数

act_location 変数は、ルール階層における式のロケーションを 示すストリングです。

詳細

ロケーションは、ルール階層における 式の位置を示す完全修飾名です。これは、 identifier.identifier.... という形式で、 各 identifier には、以下のうち 1 つが指定されます。
  • それぞれの階層にある XML エレメントの name 属性の 値。
  • ルール・ブロックまたはルール内で複数回発生し、name 属性を持たない エレメントの場合は、式を含む XML エレメントとその後に続く 大括弧で囲まれた索引番号。この索引番号は、式を含むエレメント内における その式の位置を示します。索引番号を割り当てるためのカウンターは、 1 ではなく 0 から開始されます。このため、例えばエレメントが 3 番目の <action> エレメントに含まれる場合、索引番号は action[2] のように 示されます。
これらの ID は、最も高いレベルのルール・ブロックから、式を含む 最も低いレベルのエレメントへの降順になります。

コーディングの例

以下のコードは act_lib 変数にアクセスして、式のロケーションを取得します。
String location = act_lib.getStringVariable(IACTLibrary.LOCATION);

変数から戻されるロケーションの例

以下の値は、 act_location 変数から戻されるロケーションの 例です。
ruleBlockA.ruleA.eventSelector[3].filteringPredicate
この式は、以下の中に含まれます。
  • name 属性値 ruleBlockA を持つルール・ブロック
  • name 属性値 ruleA を持つルール
  • 4 番目の <eventSelector> エレメント
  • <filteringPredicate> エレメント
ruleBlockA.ruleA.onDetection.action[5]
この式は、以下の中に含まれます。
  • name 属性値 ruleBlockA を持つルール・ブロック
  • name 属性値 ruleA を持つルール
  • <onDetection> エレメント
  • 6 番目の <action> エレメント
ruleBlockA.ruleA.variableA.varInitializer
この式は、以下の中に含まれます。
  • name 属性値 ruleBlockA を持つルール・ブロック
  • name 属性値 ruleA を持つルール
  • name 属性値 variableA を持つ属性
  • <varInitializer> エレメント