Variáveis

Na linguagem de regras, determinadas variáveis são utilizadas para armazenar informações relacionadas a eventos nas diferentes ocorrências ou regras do evento. Essas informações relacionadas a eventos poderão, então, ser acessadas a partir de expressões nas regras. Alguns tipos de variáveis são definidos pelo autor de regras e outros são fornecidos pela Tecnologia ACT. Alguns tipos podem ser acessados diretamente de uma expressão e outros podem ser acessados apenas por meio de métodos fornecidos pela Tecnologia ACT.

Variáveis Definidas nos Elementos <variable> e Acessados por Meio de Métodos

O usuário pode definir uma variável dentro do elemento <variable> de uma regra, bloco de regra ou conjunto de regras. É possível acessar essa variável em uma expressão, utilizando um dos seguintes métodos:
  • O método getVariable() ou um dos métodos getjavatypeVariable()
  • O método setVariable() ou um dos métodos setjavatypeVariable()
Por exemplo, se definir a variável rule_writer_variable no elemento <variable> de uma regra, será possível acessar tal variável com o seguinte código:
int sample_variable = act_lib.getIntVariable("rule_writer_variable");

Variáveis Fornecidas pela Tecnologia ACT e Acessadas Diretamente numa Expressão

As variáveis a seguir são fornecidas pela Tecnologia ACT. É possível utilizar variáveis seqüenciais dentro de uma expressão.
  • act_event
  • act_eventList
  • act_lib
Por exemplo, com o código a seguir, é possível acessar a variável act_event para obter o atributo hostname de um evento:
act_event.getAttribute("hostname");

Variáveis Fornecidas pela Tecnologia ACT e Acessadas por Meio de Métodos

As variáveis a seguir são fornecidas pela Tecnologia ACT. É possível acessar as variáveis numa expressão por meio do método getVariable() ou de um dos métodos getjavatypeVariable().
  • act_eventCount
  • act_location
  • act_nodeName
  • act_threshold
Por exemplo, com o código a seguir, é possível acessar a variável act_eventCount:
int eventcount_integer = act_lib.getIntVariable(IACTLibrary.EVENTCOUNT);
A Tabela 1 apresenta as constantes que a interface IACTLibrary fornece para essas variáveis. No seu código, para garantir que erros de ortografia ou tipográficos sejam descobertos na compilação em vez de no tempo de execução, sempre utilize as constantes que representam tais variáveis em vez das variáveis em si. Por exemplo, utilize act_lib.getIntVariable(IACTLibrary.EVENTCOUNT); em vez de act_lib.getIntVariable("act_eventCount");.
Tabela 1. Variáveis com Constantes Associadas
Variável Constante Associada
act_eventCount EVENTCOUNT
act_location LOCATION
act_nodeName NODENAME
act_threshold THRESHOLD
Referências relacionadas
Elemento variable