+ 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"