Inicializando e Acessando Variáveis

Este exemplo indica como inicializar e acessar o conjunto de regras, o bloco ou as variáveis de regra.

Uma variável pode ser definida no nível do conjunto de regras, de um bloco de regra ou de uma regra. Para que uma variável possa ser acessada, ela deve ser inicializada com uma expressão de inicialização. A expressão a seguir inicializa duas variáveis, uma chamada hostsList e outra chamada 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>
Todas as variáveis são acessadas por meio de expressões. O exemplo a seguir mostra como as variáveis hostsList e hostsString, inicializadas no exemplo anterior, são acessados por meio de uma expressão em uma ação de resposta da regra. Neste exemplo, hostsList é modificado e hostsString recebe um novo valor.
<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>