Ao definir uma variável, use a sintaxe do ILOG ® Rule Language.
Procedimento
- Para definir uma variável de condição de classe simples, use a sintaxe a seguir na parte da condição da regra:
variable : ClassName();
Ele define uma variável do tipo ClassName. Esta variável nunca é nula e seu valor é mostrado na tupla de instância de regra. O escopo desta variável é a regra inteira.
- Para definir uma variável simples em uma condição, use a sintaxe a seguir na parte de teste de uma condição:
variable : <value>
Para usar esta sintaxe em uma condição de classe, siga este padrão: ClassName (variable :
<value>). Para usar esta sintaxe em uma condição de avaliação, siga este padrão: evaluate (variable : <value>). Ele define uma variável que tem o tipo do valor. O valor da variável pode ser nulo. O escopo desta variável depende da condição em que é definido: Se a variável for definida em uma condição existencial, seu escopo é limitado a esta condição. Se a variável for definida em qualquer outro tipo de condição, seu escopo é a regra inteira.
- Para definir uma variável simples na parte de ação da regra, use a sintaxe a seguir:
int variable = <value>;
Ele define uma variável. O escopo da variável segue as regras de scoping de linguagem Java™ .
Exemplo:
Neste exemplo, as variáveis da conta e do contrato referem-se a objetos na memória de trabalho, objetos da classe BOM da Conta e objetos da classe BOM do Contrato. O saldo é definido como o saldo de uma conta na condição de parte do código. Da mesma forma, a expiração é definida como a data de expiração do contrato. A variável b é um exemplo de uma variável definida na ação parte da regra.
when {
account: Account(balance : getBalance());
contract: Contract(expiration : getExpirationDate());
}
then {
int b = balance;
System.out.println(contract + expiration);
System.out.println(account + b);
}
Essa regra gera uma lista de todas as instâncias disponíveis de cada contrato e sua data de validade, além de cada conta e seu saldo.