+
addition
-
deduction
*
multiplication
/
division
%
division on module
**
involution
~
concatenation
Examples:
order.getTotalSumm() * 0.01 # 1% of order sum
==
equally
===
identically (equally by value and type)
!=
not equally
!==
not identically
<
less
>
more
<=
less or equally
>=
more or equally
matches
matches the regular expression (pay attention, that \
should always be present, i.e. \d
should be recorded as \\d
)
not matches
does not matches the regular expression
Examples:
order.getStatus().getGroupCode() == "approval" # order status in group "Approval"
order.getDeliveryCost() <= 500 # delivery cost is less or equally 500
order.getSource().getThisName() matches "/yandex/" # order, which has "yandex" in the source
not
negation
and
logical and
or
logical or
Examples:
order.getDeliveryCost() < 250 and not changeSet.hasChangedField("status") # delivery cost is less than 250 and order status has not been changed
in
is in array
not in
is not in array
Examples:
changeSet.hasChangedField("status") and changeSet.getNewValue("status").getGroupCode() in ["complete", "cancel"] # order status has been changed for status of group "Complete" or "Cancel"