@Override public <ST> ICompositeQueryFilter<T> addInSubQueryFilter( final ModelColumn<T, ?> column, final ModelColumn<ST, ?> subQueryColumn, final IQuery<ST> subQuery) { final IQueryFilter<T> filter = new InSubQueryFilter<T>( tableName, column.getColumnName(), subQueryColumn.getColumnName(), subQuery); return addFilter(filter); }
@Override @SuppressWarnings("unchecked") public <V> ICompositeQueryFilter<T> addInArrayFilter( final ModelColumn<T, ?> column, final V... values) { final IQueryFilter<T> filter = new InArrayQueryFilter<T>(column.getColumnName(), values); return addFilter(filter); }
@Override public ICompositeQueryFilter<T> addCompareFilter( final ModelColumn<T, ?> column, final Operator operator, final Object value, final IQueryFilterModifier modifier) { return addCompareFilter(column.getColumnName(), operator, value, modifier); }
@Override public ICompositeQueryFilter<T> addCompareFilter( final ModelColumn<T, ?> column, final CompareQueryFilter.Operator operator, final Object value) { final CompareQueryFilter<T> filter = new CompareQueryFilter<T>(column.getColumnName(), operator, value); return addFilter(filter); }
@Override public <V> ICompositeQueryFilter<T> addNotInArrayFilter( final ModelColumn<T, ?> column, final Collection<V> values) { return addNotInArrayFilter(column.getColumnName(), values); }
@Override public <V> ICompositeQueryFilter<T> addInArrayFilter( final ModelColumn<T, ?> column, final Collection<V> values) { final IQueryFilter<T> filter = new InArrayQueryFilter<T>(column.getColumnName(), values); return addFilter(filter); }
@Override public ICompositeQueryFilter<T> addNotNull(final ModelColumn<T, ?> column) { final String columnName = column.getColumnName(); return addNotEqualsFilter(columnName, null); }
@Override public ICompositeQueryFilter<T> addNotEqualsFilter( final ModelColumn<T, ?> column, final Object value) { final String columnName = column.getColumnName(); return addNotEqualsFilter(columnName, value); }
@Override public ICompositeQueryFilter<T> addSubstringFilter( final ModelColumn<T, ?> column, final String substring, final boolean ignoreCase) { final String columnName = column.getColumnName(); return addSubstringFilter(columnName, substring, ignoreCase); }
@Override public ICompositeQueryFilter<T> addEqualsFilter( final ModelColumn<T, ?> column, final Object value) { final EqualsQueryFilter<T> filter = new EqualsQueryFilter<T>(column.getColumnName(), value); return addFilter(filter); }