Expressões

Uma expressão é código que contém lógica personalizada que pode ser incluída em uma regra. As expressões também podem acessar código externo para o mecanismo da Tecnologia ACT. Na linguagem de regra, as expressões são válidas somente nos contextos específicos ou nos elementos de linguagem da regra.

Os autores de regras podem codificar expressões com fins diferentes, dependendo do contexto e do resultado que desejam obter. As expressões são utilizadas com freqüência para a inicialização de variáveis, a definição de critérios de seleção de eventos e a especificação de ações de resposta da regra e de ciclo de vida.

Elementos de Linguagem que Contêm Expressões

Cada elementos de linguagem que contém uma expressão tem um atributo expressionLanguage que identifica a linguagem de programação na qual a expressão é gravada. A linguagem de programação Java é a única linguagem de expressão suportada.

As expressões podem ser obtidas nos elementos de linguagem de regra a seguir.
  • <varInitializer> para um conjunto de regras, bloco de regra ou variável de regra
  • <filteringPredicate> em <eventSelector>
  • <computedValue> em <groupingKey>
  • <computeFunction> em uma regra de computação
  • <booleanThreshold> em uma regra de limite
  • <computedThreshold> em uma regra de limite
  • Ações de resposta de uma regra:
    • <action> em <onDetection>. Esta ação será válida apenas para as regras de duplicata, de filtragem, de seqüência e de limite.
    • <action> em <onNextEvent>. Esta ação é válida apenas para a regra de duplicata.
    • <action> em <onTimeOut>. Esta ação é válida apenas para as regras de seqüência e de limite.
    • <action> em <onTimeWindowComplete>. Esta ação é válida apenas para as regras de coleta, de computação, de duplicata e de cronômetro.
  • Ações de ciclo de vida de uma regra:
    • <action> em <onLoad>
    • <action> em <onActivation>
    • <action> em <onDeactivation>
    • <action> em <onUnload>

O que a Tecnologia ACT Fornece para Ajudar nas Codificação de Expressões

Para ajudar o autor de regras na codificação de expressões, a Tecnologia ACT fornece recursos para fazer o seguinte:
  • Importar módulos externos (por exemplo, classes Java) e objetos para serem utilizados nas expressões.
  • Inicializar e acessar o conjunto de regras, o bloco de regra ou as variáveis de regra.
  • Por meio da variável act_event, acessar o evento atual que está sendo processado por uma regra.
  • Por meio da variável act_eventCount, acessar o número de eventos aceitos por uma regra.
  • Por meio da variável act_eventList, acessar a lista de eventos aceitos por uma regra. Isso inclui o recurso para acessar vários atributos de um evento e para acessar cada evento em uma regra de seqüência pelo seu nome de alias.
  • Por meio da variável act_lib, acessar métodos que incluem o recurso de obter e configurar variáveis e para controlar o fluxo de eventos por meio de um conjunto de regras.
  • Por meio da variável act_location, acessar o local, na hierarquia da regra, de uma expressão.
  • Por meio da variável act_nodeName, acessar o nome completo de um nó.
  • Por meio da variável act_threshold, acessar o valor do limite definido de uma regra de limite.