Select statements are the initial condition on whether or not to run a rule. The select
statement contains an event expression that must be true before the rule fires. The simplest event expression merely matches an event domain and type. For example:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
select when mail received |
A rule with the preceding select
statement will be selected for an event with the domain mail
and the type received
.
The high level structure of a select statement is sketched here:
Code Block |
---|
select when <declarative event expression> where <conventional Boolean expression> |
Because event expressions are written in a declarative fashion, they do not follow the kinds of rules one might expect after experience with imperative or functional programming languages.
Event expressions can express complicated relationships between multiple events. Review the event expression documentation for more detail and more examples of select
statements.