public static <O> Predicate<O> NotEquals(O value) { return Equals(value).negate(); }
public static <O> Predicate<O> NotIn(Collection<O> value) { return In(value).negate(); }
public static Predicate<String> NotStringContains(String value) { return StringContains(value).negate(); }
public static Predicate<String> NotStringMatches(String value) { return StringMatches(value).negate(); }
default P isAfterOrEquals(V propertyValue) { return addPredicate(Predicates.AfterOrEquals(propertyValue)); }
default P isNotEquals(V propertyValue) { return addPredicate(Predicates.NotEquals(propertyValue)); }
default P isBeforeOrEquals(V propertyValue) { return addPredicate(Predicates.BeforeOrEquals(propertyValue)); }
default P isBetween(V min, V max) { return addPredicate(Predicates.Between(min, max)); }
default P isBefore(V propertyValue) { return addPredicate(Predicates.Before(propertyValue)); }
default P isBetweenOrEquals(V min, V max) { return addPredicate(Predicates.BetweenOrEquals(min, max)); }
public final P matches(String propertyValue) { return addPredicate(Predicates.StringMatches(propertyValue)); }
default P isAfter(V propertyValue) { return addPredicate(Predicates.AfterOrEquals(propertyValue)); }
public final Q matchesAnd(String propertyValue) { addPredicate(Predicates.StringMatches(propertyValue)); return q(); }
default P isIn(Collection<V> propertyValue) { return addPredicate(Predicates.In(propertyValue)); }
public final P contains(String propertyValue) { return addPredicate(Predicates.StringContains(propertyValue)); }
default P isEquals(V propertyValue) { return addPredicate(Predicates.Equals(propertyValue)); }
default Q isInAnd(Collection<V> propertyValue) { addPredicate(Predicates.In(propertyValue)); return q(); }
public final Q containsAnd(String propertyValue) { addPredicate(Predicates.StringContains(propertyValue)); return q(); }