[#5770] Add Field.notContains()

This commit is contained in:
lukaseder 2017-01-05 13:03:08 +01:00
parent 45e2bbe899
commit d401ab5b4f
2 changed files with 22 additions and 0 deletions

View File

@ -1410,6 +1410,18 @@ public interface Field<T> extends SelectField<T>, GroupField, FieldOrRow {
@Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
Condition contains(Field<T> value);
/**
* Inverse of {@link #contains(Object)}.
*/
@Support
Condition notContains(T value);
/**
* Inverse of {@link #contains(Field)}.
*/
@Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
Condition notContains(Field<T> value);
/**
* Convenience method for {@link #like(String, char)} including proper
* adding of wildcards and escaping.

View File

@ -825,6 +825,16 @@ abstract class AbstractField<T> extends AbstractQueryPart implements Field<T> {
return new Contains<T>(this, value);
}
@Override
public final Condition notContains(T value) {
return contains(value).not();
}
@Override
public final Condition notContains(Field<T> value) {
return contains(value).not();
}
@Override
public final Condition startsWith(T value) {
Field<String> concat = DSL.concat(Tools.escapeForLike(value), inline("%"));