/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.metamodel.query.builder; import java.util.Collection; import java.util.Date; import org.apache.metamodel.query.FilterItem; import org.apache.metamodel.query.SelectItem; import org.apache.metamodel.schema.Column; abstract class AbstractQueryFilterBuilder<B> extends GroupedQueryBuilderCallback implements FilterBuilder<B> { protected final AbstractFilterBuilder<B> _filterBuilder; public AbstractQueryFilterBuilder(SelectItem selectItem, GroupedQueryBuilder queryBuilder) { super(queryBuilder); _filterBuilder = new AbstractFilterBuilder<B>(selectItem) { @Override protected B applyFilter(FilterItem filter) { return AbstractQueryFilterBuilder.this.applyFilter(filter); } }; } protected abstract B applyFilter(FilterItem filter); @Override public B in(Collection<?> values) { return _filterBuilder.in(values); } @Override public B in(Number... numbers) { return _filterBuilder.in(numbers); } @Override public B in(String... strings) { return _filterBuilder.in(strings); } @Override public B notIn(Collection<?> values) { return _filterBuilder.notIn(values); } @Override public B notIn(Number... numbers) { return _filterBuilder.notIn(numbers); } @Override public B notIn(String... strings) { return _filterBuilder.notIn(strings); } @Override public B isNull() { return _filterBuilder.isNull(); } @Override public B isNotNull() { return _filterBuilder.isNotNull(); } @Override public B isEquals(Column column) { return _filterBuilder.isEquals(column); } @Override public B isEquals(Date date) { return _filterBuilder.isEquals(date); } @Override public B isEquals(Number number) { return _filterBuilder.isEquals(number); } @Override public B isEquals(String string) { return _filterBuilder.isEquals(string); } @Override public B isEquals(Boolean bool) { return _filterBuilder.isEquals(bool); } @Override public B isEquals(Object obj) { return _filterBuilder.isEquals(obj); } @Override public B differentFrom(Column column) { return _filterBuilder.differentFrom(column); } @Override public B differentFrom(Date date) { return _filterBuilder.differentFrom(date); } @Override public B differentFrom(Number number) { return _filterBuilder.differentFrom(number); } @Override public B differentFrom(String string) { return _filterBuilder.differentFrom(string); } @Override public B differentFrom(Boolean bool) { return _filterBuilder.differentFrom(bool); } @Override public B differentFrom(Object obj) { return _filterBuilder.differentFrom(obj); } @Deprecated @Override public B higherThan(Column arg) { return _filterBuilder.higherThan(arg); } public B greaterThan(Column column) { return _filterBuilder.greaterThan(column); } @Override public B greaterThan(Object obj) { return _filterBuilder.greaterThan(obj); } @Deprecated @Override public B higherThan(Date arg) { return _filterBuilder.higherThan(arg); } @Override public B greaterThan(Date date) { return _filterBuilder.greaterThan(date); } @Deprecated @Override public B higherThan(Number arg) { return _filterBuilder.higherThan(arg); } @Override public B greaterThan(Number number) { return _filterBuilder.greaterThan(number); } @Deprecated @Override public B higherThan(String arg) { return _filterBuilder.higherThan(arg); } @Override public B greaterThan(String string) { return _filterBuilder.greaterThan(string); } @Override public B lessThan(Column column) { return _filterBuilder.lessThan(column); } @Override public B lessThan(Date date) { return _filterBuilder.lessThan(date); } @Override public B lessThan(Number number) { return _filterBuilder.lessThan(number); } @Override public B lessThan(String string) { return _filterBuilder.lessThan(string); } @Override public B lessThan(Object obj) { return _filterBuilder.lessThan(obj); } @Override public B greaterThanOrEquals(Column column) { return _filterBuilder.greaterThanOrEquals(column); } @Override public B greaterThanOrEquals(Date date) { return _filterBuilder.greaterThanOrEquals(date); } @Override public B greaterThanOrEquals(Number number) { return _filterBuilder.greaterThanOrEquals(number); } @Override public B greaterThanOrEquals(String string) { return _filterBuilder.greaterThanOrEquals(string); } @Override public B greaterThanOrEquals(Object obj) { return _filterBuilder.greaterThanOrEquals(obj); } @Override public B gte(Column column) { return _filterBuilder.greaterThanOrEquals(column); } @Override public B gte(Date date) { return _filterBuilder.greaterThanOrEquals(date); } @Override public B gte(Number number) { return _filterBuilder.greaterThanOrEquals(number); } @Override public B gte(String string) { return _filterBuilder.greaterThanOrEquals(string); } @Override public B gte(Object obj) { return _filterBuilder.greaterThanOrEquals(obj); } @Override public B lessThanOrEquals(Column column) { return _filterBuilder.lessThanOrEquals(column); } @Override public B lessThanOrEquals(Date date) { return _filterBuilder.lessThanOrEquals(date); } @Override public B lessThanOrEquals(Number number) { return _filterBuilder.lessThanOrEquals(number); } @Override public B lessThanOrEquals(String string) { return _filterBuilder.lessThanOrEquals(string); } @Override public B lessThanOrEquals(Object obj) { return _filterBuilder.lessThanOrEquals(obj); } @Override public B lte(Column column) { return _filterBuilder.lessThanOrEquals(column); } @Override public B lte(Date date) { return _filterBuilder.lessThanOrEquals(date); } @Override public B lte(Number number) { return _filterBuilder.lessThanOrEquals(number); } @Override public B lte(String string) { return _filterBuilder.lessThanOrEquals(string); } @Override public B lte(Object obj) { return _filterBuilder.lessThanOrEquals(obj); } @Override public B like(String string) { return _filterBuilder.like(string); } @Override public B notLike(String string) { return _filterBuilder.notLike(string); } @Override public B gt(Column column) { return greaterThan(column); } @Override public B gt(Date date) { return greaterThan(date); } @Override public B gt(Number number) { return greaterThan(number); } @Override public B gt(String string) { return greaterThan(string); } @Override public B lt(Column column) { return lessThan(column); } public B lt(Date date) { return lessThan(date); } public B lt(Number number) { return lessThan(number); } public B lt(String string) { return lessThan(string); } @Override public B eq(Boolean bool) { return isEquals(bool); } @Override public B eq(Column column) { return isEquals(column); } @Override public B eq(Date date) { return isEquals(date); } @Override public B eq(Number number) { return isEquals(number); } @Override public B eq(String string) { return isEquals(string); } @Override public B eq(Object obj) { return isEquals(obj); } @Override public B ne(Boolean bool) { return differentFrom(bool); } @Override public B ne(Column column) { return differentFrom(column); } @Override public B ne(Date date) { return differentFrom(date); } @Override public B ne(Number number) { return differentFrom(number); } @Override public B ne(String string) { return differentFrom(string); } @Override public B ne(Object obj) { return differentFrom(obj); } @Override @Deprecated public B equals(Boolean bool) { return isEquals(bool); } @Override @Deprecated public B equals(Column column) { return isEquals(column); } @Override @Deprecated public B equals(Date date) { return isEquals(date); } @Override @Deprecated public B equals(Number number) { return isEquals(number); } @Override @Deprecated public B equals(String string) { return isEquals(string); } @Override public B lt(Object obj) { return lessThan(obj); } @Override public B gt(Object obj) { return greaterThan(obj); } }