Bound
is a sub-component of a range, representing a single-sided limit that could be inclusive or exclusive.
InListPredicate
contains a list of acceptable values. A value needs to match at least
one of the elements (logical OR semantic) for the predicate to be satisfied.
Range
defines a single continuous range which can optionally have a lower and/or upper limit.
Both the lower and upper bounds must be satisfied for the range condition to be true.
RangePredicate
encapsulates a range condition that must be satisfied
for the predicate to hold true (logical AND semantic between the bounds).
RegexMatchPredicate
encapsulates a single regex pattern. A value must match
the pattern for the predicate to be satisfied.