Add QueryBuilder interface as common API for Query and QueryBean

This commit is contained in:
Rob Bygrave
2024-04-01 18:58:57 +13:00
parent e0eda4f8be
commit da44f7e604
5 changed files with 1281 additions and 2394 deletions
File diff suppressed because it is too large Load Diff
@@ -8,7 +8,6 @@ import io.ebean.search.TextCommonTerms;
import io.ebean.search.TextQueryString;
import io.ebean.search.TextSimple;
import io.ebean.service.SpiFetchGroupQuery;
import io.ebean.text.PathProperties;
import io.ebeaninternal.api.SpiQueryFetch;
import io.ebeaninternal.server.util.ArrayStack;
@@ -235,7 +234,19 @@ public abstract class TQRootBean<T, R> implements QueryBean<T, R> {
}
@Override
public final R apply(PathProperties pathProperties) {
public R fetchLazy(String path, String fetchProperties) {
query.fetchLazy(path, fetchProperties);
return root;
}
@Override
public R fetchLazy(String path) {
query.fetchLazy(path);
return root;
}
@Override
public final R apply(FetchPath pathProperties) {
query.apply(pathProperties);
return root;
}
@@ -450,6 +461,12 @@ public abstract class TQRootBean<T, R> implements QueryBean<T, R> {
return root;
}
@Override
public R setCountDistinct(CountDistinctOrder orderBy) {
query.setCountDistinct(orderBy);
return root;
}
@Override
public final R setRawSql(RawSql rawSql) {
query.setRawSql(rawSql);
@@ -462,13 +479,6 @@ public abstract class TQRootBean<T, R> implements QueryBean<T, R> {
return root;
}
@Override
public final R setUseCache(boolean useCache) {
query.setUseCache(useCache);
return root;
}
@Override
public final R setBeanCacheMode(CacheMode beanCacheMode) {
query.setBeanCacheMode(beanCacheMode);
@@ -493,12 +503,6 @@ public abstract class TQRootBean<T, R> implements QueryBean<T, R> {
return root;
}
@Override
public final R setUseQueryCache(boolean useCache) {
query.setUseQueryCache(useCache);
return root;
}
@Override
public final R setUseQueryCache(CacheMode cacheMode) {
query.setUseQueryCache(cacheMode);
@@ -565,6 +569,12 @@ public abstract class TQRootBean<T, R> implements QueryBean<T, R> {
return root;
}
@Override
public R setOrderBy(OrderBy<T> orderBy) {
query.setOrderBy(orderBy);
return root;
}
@Override
@Deprecated(since = "13.19", forRemoval = true)
public final R order(String orderByClause) {
@@ -696,6 +706,12 @@ public abstract class TQRootBean<T, R> implements QueryBean<T, R> {
return root;
}
@Override
public R usingDatabase(Database database) {
query.usingDatabase(database);
return root;
}
@Override
public final R usingMaster() {
query.usingMaster();
@@ -753,6 +769,11 @@ public abstract class TQRootBean<T, R> implements QueryBean<T, R> {
return query.findSingleAttributeList();
}
@Override
public final <A> Set<A> findSingleAttributeSet() {
return query.findSingleAttributeSet();
}
@Override
@Nullable
public final <A> A findSingleAttribute() {