Variablen initialisieren und darauf zugreifen

In diesem Beispiel wird gezeigt, wie Sie Regelsatz-, Regelblock- oder Regelvariablen initialisieren und auf diese zugreifen können.

Eine Variable kann auf der Ebene des Regelsatzes, eines Regelblocks oder einer Regel definiert werden. Bevor auf eine Variable zugegriffen werden kann, muss sie mit einem Initialisierungsausdruck initialisiert werden. Der folgende Ausdruck initialisiert zwei Variablen mit den Namen 'hostsList' und 'hostsString':
<variable name="hostsList" dataType="java.util.ArrayList">
  <varInitializer expressionLanguage="java">
    return new ArrayList();
  </varInitializer>
</variable>
<variable name="hostsString" dataType="java.lang.String">
  <varInitializer expressionLanguage="java">
    return new String();
  </varInitializer>
</variable>
Auf alle Variablen wird durch Ausdrücke zugegriffen. Das folgende Beispiel zeigt, wie durch einen Ausdruck in einer Regelantwortaktion auf die Variablen 'hostsList' und 'hostsString' zugegriffen wird, die im vorherigen Beispiel initialisiert wurden. In diesem Beispiel wird 'hostsList' geändert, und 'hostsString' wird ein neuer Wert gegeben.
<onNextEvent>
	<action expressionLanguage="java">
	  String hostname = act_event.getStringAttribute("hostname");
    ArrayList hostsList = (ArrayList)act_lib.getVariable("hostsList");
    hostsList.add(hostname);
    String hostsString = act_lib.getStringVariable("hostsString");
    String newHostString = hostsString + ", " + hostname);
    act_lib.setStringVariable("hostsString", newHostsString);
	</action>
</onNextEvent>