From 4d4f8e2c4bab2c7412bbe8e6abfebbcf5929d205 Mon Sep 17 00:00:00 2001
From: Rob Bygrave
Date: Mon, 2 May 2022 18:01:25 +1200
Subject: [PATCH] Modify DefaultOrmQuery to have non-final copy() methods to
allow ebean-mocker to be updated
---
.../server/querydefn/DefaultOrmQuery.java | 483 +++++++++---------
1 file changed, 241 insertions(+), 242 deletions(-)
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/querydefn/DefaultOrmQuery.java b/ebean-core/src/main/java/io/ebeaninternal/server/querydefn/DefaultOrmQuery.java
index 1736618dc..df2e1a2aa 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/querydefn/DefaultOrmQuery.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/querydefn/DefaultOrmQuery.java
@@ -32,7 +32,7 @@ import java.util.stream.Stream;
* Default implementation of an Object Relational query.
*/
@NonNullApi
-public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery {
+public class DefaultOrmQuery extends AbstractQuery implements SpiQuery {
private static final String DEFAULT_QUERY_NAME = "default";
private static final FetchConfig FETCH_CACHE = FetchConfig.ofCache();
@@ -173,33 +173,32 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
this.detail = new OrmQueryDetail();
}
- public void setNativeSql(String nativeSql) {
+ public final void setNativeSql(String nativeSql) {
this.nativeSql = nativeSql;
}
@Override
- public DtoQuery asDto(Class dtoClass) {
+ public final DtoQuery asDto(Class dtoClass) {
return server.findDto(dtoClass, this);
}
@Override
- public UpdateQuery asUpdate() {
+ public final UpdateQuery asUpdate() {
return new DefaultUpdateQuery<>(this);
}
@Override
- public BeanDescriptor getBeanDescriptor() {
+ public final BeanDescriptor getBeanDescriptor() {
return beanDescriptor;
}
-
@Override
- public boolean isFindAll() {
+ public final boolean isFindAll() {
return whereExpressions == null && nativeSql == null && rawSql == null;
}
@Override
- public boolean isFindById() {
+ public final boolean isFindById() {
if (id == null && whereExpressions != null) {
id = whereExpressions.idEqualTo(beanDescriptor.idName());
if (id != null) {
@@ -210,7 +209,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public String profileEventId() {
+ public final String profileEventId() {
switch (mode) {
case LAZYLOAD_BEAN:
return FIND_ONE_LAZY;
@@ -222,23 +221,23 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public String getProfileId() {
+ public final String getProfileId() {
return getPlanLabel();
}
@Override
- public Query setProfileLocation(ProfileLocation profileLocation) {
+ public final Query setProfileLocation(ProfileLocation profileLocation) {
this.profileLocation = profileLocation;
return this;
}
@Override
- public String getLabel() {
+ public final String getLabel() {
return label;
}
@Override
- public String getPlanLabel() {
+ public final String getPlanLabel() {
if (label != null) {
return label;
}
@@ -249,41 +248,41 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void setProfilePath(String label, String relativePath, ProfileLocation profileLocation) {
+ public final void setProfilePath(String label, String relativePath, ProfileLocation profileLocation) {
this.profileLocation = profileLocation;
this.label = ((profileLocation == null) ? label : profileLocation.label()) + "_" + relativePath;
}
@Override
- public Query setLabel(String label) {
+ public final Query setLabel(String label) {
this.label = label;
return this;
}
@Override
- public boolean isAutoTunable() {
+ public final boolean isAutoTunable() {
return nativeSql == null && beanDescriptor.isAutoTunable();
}
@Override
- public Query setUseDocStore(boolean useDocStore) {
+ public final Query setUseDocStore(boolean useDocStore) {
this.useDocStore = useDocStore;
return this;
}
@Override
- public boolean isUseDocStore() {
+ public final boolean isUseDocStore() {
return useDocStore;
}
@Override
- public Query apply(FetchPath fetchPath) {
+ public final Query apply(FetchPath fetchPath) {
fetchPath.apply(this);
return this;
}
@Override
- public void addSoftDeletePredicate(String softDeletePredicate) {
+ public final void addSoftDeletePredicate(String softDeletePredicate) {
if (softDeletePredicates == null) {
softDeletePredicates = new ArrayList<>();
}
@@ -291,91 +290,91 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public List getSoftDeletePredicates() {
+ public final List getSoftDeletePredicates() {
return softDeletePredicates;
}
@Override
- public boolean isAsOfBaseTable() {
+ public final boolean isAsOfBaseTable() {
return asOfBaseTable;
}
@Override
- public void setAsOfBaseTable() {
+ public final void setAsOfBaseTable() {
this.asOfBaseTable = true;
}
@Override
- public Query setAllowLoadErrors() {
+ public final Query setAllowLoadErrors() {
this.allowLoadErrors = true;
return this;
}
@Override
- public void incrementAsOfTableCount() {
+ public final void incrementAsOfTableCount() {
asOfTableCount++;
}
@Override
- public void incrementAsOfTableCount(int increment) {
+ public final void incrementAsOfTableCount(int increment) {
asOfTableCount += increment;
}
@Override
- public int getAsOfTableCount() {
+ public final int getAsOfTableCount() {
return asOfTableCount;
}
@Override
- public Timestamp getAsOf() {
+ public final Timestamp getAsOf() {
return asOf;
}
@Override
- public Query asOf(Timestamp asOfDateTime) {
+ public final Query asOf(Timestamp asOfDateTime) {
this.temporalMode = (asOfDateTime != null) ? TemporalMode.AS_OF : TemporalMode.CURRENT;
this.asOf = asOfDateTime;
return this;
}
@Override
- public Query asDraft() {
+ public final Query asDraft() {
this.temporalMode = TemporalMode.DRAFT;
this.useBeanCache = CacheMode.OFF;
return this;
}
@Override
- public Query setIncludeSoftDeletes() {
+ public final Query setIncludeSoftDeletes() {
this.temporalMode = TemporalMode.SOFT_DELETED;
return this;
}
@Override
- public Query setDocIndexName(String indexName) {
+ public final Query setDocIndexName(String indexName) {
this.docIndexName = indexName;
this.useDocStore = true;
return this;
}
@Override
- public String getDocIndexName() {
+ public final String getDocIndexName() {
return docIndexName;
}
@Override
- public SpiRawSql getRawSql() {
+ public final SpiRawSql getRawSql() {
return rawSql;
}
@Override
- public Query setRawSql(RawSql rawSql) {
+ public final Query setRawSql(RawSql rawSql) {
this.rawSql = (SpiRawSql) rawSql;
return this;
}
@Override
- public String getOriginKey() {
+ public final String getOriginKey() {
if (parentNode == null || parentNode.getOriginQueryPoint() == null) {
return null;
} else {
@@ -384,32 +383,32 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public int getLazyLoadBatchSize() {
+ public final int getLazyLoadBatchSize() {
return lazyLoadBatchSize;
}
@Override
- public Query setLazyLoadBatchSize(int lazyLoadBatchSize) {
+ public final Query setLazyLoadBatchSize(int lazyLoadBatchSize) {
this.lazyLoadBatchSize = lazyLoadBatchSize;
return this;
}
@Override
- public String getLazyLoadProperty() {
+ public final String getLazyLoadProperty() {
return lazyLoadProperty;
}
@Override
- public void setLazyLoadProperty(String lazyLoadProperty) {
+ public final void setLazyLoadProperty(String lazyLoadProperty) {
this.lazyLoadProperty = lazyLoadProperty;
}
@Override
- public ExpressionFactory getExpressionFactory() {
+ public final ExpressionFactory getExpressionFactory() {
return expressionFactory;
}
- private void createExtraJoinsToSupportManyWhereClause() {
+ private final void createExtraJoinsToSupportManyWhereClause() {
manyWhereJoins = new ManyWhereJoins();
if (whereExpressions != null) {
whereExpressions.containsMany(beanDescriptor, manyWhereJoins);
@@ -431,7 +430,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Return the extra joins required to support the where clause for 'Many' properties.
*/
@Override
- public ManyWhereJoins getManyWhereJoins() {
+ public final ManyWhereJoins getManyWhereJoins() {
return manyWhereJoins;
}
@@ -440,7 +439,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* included in the query.
*/
@Override
- public boolean selectAllForLazyLoadProperty() {
+ public final boolean selectAllForLazyLoadProperty() {
if (lazyLoadProperty != null) {
if (!detail.containsProperty(lazyLoadProperty)) {
detail.select("*");
@@ -481,12 +480,12 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void setLazyLoadManyPath(String lazyLoadManyPath) {
+ public final void setLazyLoadManyPath(String lazyLoadManyPath) {
this.lazyLoadManyPath = lazyLoadManyPath;
}
@Override
- public SpiQuerySecondary convertJoins() {
+ public final SpiQuerySecondary convertJoins() {
if (!useDocStore) {
createExtraJoinsToSupportManyWhereClause();
}
@@ -510,7 +509,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void setDefaultSelectClause() {
+ public final void setDefaultSelectClause() {
if (type.defaultSelect()) {
detail.setDefaultSelectClause(beanDescriptor);
} else if (!detail.hasSelectClause()) {
@@ -520,39 +519,39 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void setTenantId(Object tenantId) {
+ public final void setTenantId(Object tenantId) {
this.tenantId = tenantId;
}
@Override
- public Object getTenantId() {
+ public final Object getTenantId() {
return tenantId;
}
@Override
- public void setDetail(OrmQueryDetail detail) {
+ public final void setDetail(OrmQueryDetail detail) {
this.detail = detail;
}
@Override
- public boolean tuneFetchProperties(OrmQueryDetail tunedDetail) {
+ public final boolean tuneFetchProperties(OrmQueryDetail tunedDetail) {
return detail.tuneFetchProperties(tunedDetail);
}
@Override
- public OrmQueryDetail getDetail() {
+ public final OrmQueryDetail getDetail() {
return detail;
}
@Override
- public ExpressionList filterMany(String prop) {
+ public final ExpressionList filterMany(String prop) {
OrmQueryProperties chunk = detail.getChunk(prop, true);
return chunk.filterMany(this);
}
@Override
- public void setFilterMany(String prop, ExpressionList> filterMany) {
+ public final void setFilterMany(String prop, ExpressionList> filterMany) {
if (filterMany != null) {
OrmQueryProperties chunk = detail.getChunk(prop, true);
chunk.setFilterMany((SpiExpressionList>) filterMany);
@@ -560,7 +559,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void prepareDocNested() {
+ public final void prepareDocNested() {
if (textExpressions != null) {
textExpressions.prepareDocNested(beanDescriptor);
}
@@ -573,14 +572,14 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Setup to be a delete or update query.
*/
@Override
- public void setupForDeleteOrUpdate() {
+ public final void setupForDeleteOrUpdate() {
forUpdate = null;
rootTableAlias = "${RTA}"; // alias we remove later
setSelectId();
}
@Override
- public CQueryPlanKey setDeleteByIdsPlan() {
+ public final CQueryPlanKey setDeleteByIdsPlan() {
// re-build plan for cascading via delete by ids
queryPlanKey = queryPlanKey.withDeleteByIds();
return queryPlanKey;
@@ -590,14 +589,14 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Set the select clause to select the Id property.
*/
@Override
- public void setSelectId() {
+ public final void setSelectId() {
// clear select and fetch joins
detail.clear();
select(beanDescriptor.idSelect());
}
@Override
- public void setSingleAttribute() {
+ public final void setSingleAttribute() {
this.singleAttribute = true;
}
@@ -605,12 +604,12 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Return true if this is a single attribute query.
*/
@Override
- public boolean isSingleAttribute() {
+ public final boolean isSingleAttribute() {
return singleAttribute;
}
@Override
- public CountDistinctOrder getCountDistinctOrder() {
+ public final CountDistinctOrder getCountDistinctOrder() {
return countDistinctOrder;
}
@@ -618,12 +617,12 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Return true if the Id should be included in the query.
*/
@Override
- public boolean isWithId() {
+ public final boolean isWithId() {
return !manualId && !distinct && !singleAttribute;
}
@Override
- public CacheIdLookup cacheIdLookup() {
+ public final CacheIdLookup cacheIdLookup() {
if (whereExpressions == null) {
return null;
}
@@ -647,7 +646,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public NaturalKeyQueryData naturalKey() {
+ public final NaturalKeyQueryData naturalKey() {
if (whereExpressions == null) {
return null;
}
@@ -667,7 +666,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public NaturalKeyBindParam getNaturalKeyBindParam() {
+ public final NaturalKeyBindParam getNaturalKeyBindParam() {
NaturalKeyBindParam namedBind = null;
if (bindParams != null) {
namedBind = bindParams.getNaturalKeyBindParam();
@@ -752,38 +751,38 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public Query setPersistenceContextScope(PersistenceContextScope scope) {
+ public final Query setPersistenceContextScope(PersistenceContextScope scope) {
this.persistenceContextScope = scope;
return this;
}
@Override
- public PersistenceContextScope getPersistenceContextScope() {
+ public final PersistenceContextScope getPersistenceContextScope() {
return persistenceContextScope;
}
@Override
- public Type getType() {
+ public final Type getType() {
return type;
}
@Override
- public void setType(Type type) {
+ public final void setType(Type type) {
this.type = type;
}
@Override
- public String getLoadDescription() {
+ public final String getLoadDescription() {
return loadDescription;
}
@Override
- public String getLoadMode() {
+ public final String getLoadMode() {
return loadMode;
}
@Override
- public void setLoadDescription(String loadMode, String loadDescription) {
+ public final void setLoadDescription(String loadMode, String loadDescription) {
this.loadMode = loadMode;
this.loadDescription = loadDescription;
}
@@ -796,7 +795,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
*
*/
@Override
- public PersistenceContext getPersistenceContext() {
+ public final PersistenceContext getPersistenceContext() {
return persistenceContext;
}
@@ -808,17 +807,17 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
*
*/
@Override
- public void setPersistenceContext(PersistenceContext persistenceContext) {
+ public final void setPersistenceContext(PersistenceContext persistenceContext) {
this.persistenceContext = persistenceContext;
}
@Override
- public void setLazyLoadForParents(BeanPropertyAssocMany> many) {
+ public final void setLazyLoadForParents(BeanPropertyAssocMany> many) {
this.lazyLoadForParentsProperty = many;
}
@Override
- public BeanPropertyAssocMany> getLazyLoadMany() {
+ public final BeanPropertyAssocMany> getLazyLoadMany() {
return lazyLoadForParentsProperty;
}
@@ -826,60 +825,60 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Return true if the query detail has neither select or joins specified.
*/
@Override
- public boolean isDetailEmpty() {
+ public final boolean isDetailEmpty() {
return detail.isEmpty();
}
@Override
- public boolean isAutoTuned() {
+ public final boolean isAutoTuned() {
return autoTuned;
}
@Override
- public void setAutoTuned(boolean autoTuned) {
+ public final void setAutoTuned(boolean autoTuned) {
this.autoTuned = autoTuned;
}
@Override
- public Boolean isAutoTune() {
+ public final Boolean isAutoTune() {
return autoTune;
}
@Override
- public void setDefaultRawSqlIfRequired() {
+ public final void setDefaultRawSqlIfRequired() {
if (beanDescriptor.isRawSqlBased() && rawSql == null) {
rawSql = beanDescriptor.namedRawSql(DEFAULT_QUERY_NAME);
}
}
@Override
- public Query setAutoTune(boolean autoTune) {
+ public final Query setAutoTune(boolean autoTune) {
this.autoTune = autoTune;
return this;
}
@Override
- public Query withLock(LockType lockType) {
+ public final Query withLock(LockType lockType) {
return setForUpdateWithMode(LockWait.WAIT, lockType);
}
@Override
- public Query withLock(LockType lockType, LockWait lockWait) {
+ public final Query withLock(LockType lockType, LockWait lockWait) {
return setForUpdateWithMode(lockWait, lockType);
}
@Override
- public Query forUpdate() {
+ public final Query forUpdate() {
return setForUpdateWithMode(LockWait.WAIT, LockType.DEFAULT);
}
@Override
- public Query forUpdateNoWait() {
+ public final Query forUpdateNoWait() {
return setForUpdateWithMode(LockWait.NOWAIT, LockType.DEFAULT);
}
@Override
- public Query forUpdateSkipLocked() {
+ public final Query forUpdateSkipLocked() {
return setForUpdateWithMode(LockWait.SKIPLOCKED, LockType.DEFAULT);
}
@@ -891,32 +890,32 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public boolean isForUpdate() {
+ public final boolean isForUpdate() {
return forUpdate != null;
}
@Override
- public LockWait getForUpdateLockWait() {
+ public final LockWait getForUpdateLockWait() {
return forUpdate;
}
@Override
- public LockType getForUpdateLockType() {
+ public final LockType getForUpdateLockType() {
return lockType;
}
@Override
- public ProfilingListener getProfilingListener() {
+ public final ProfilingListener getProfilingListener() {
return profilingListener;
}
@Override
- public void setProfilingListener(ProfilingListener profilingListener) {
+ public final void setProfilingListener(ProfilingListener profilingListener) {
this.profilingListener = profilingListener;
}
@Override
- public QueryType getQueryType() {
+ public final QueryType getQueryType() {
if (type != null) {
switch (type) {
case DELETE:
@@ -929,57 +928,57 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public Mode getMode() {
+ public final Mode getMode() {
return mode;
}
@Override
- public TemporalMode getTemporalMode() {
+ public final TemporalMode getTemporalMode() {
return temporalMode;
}
@Override
- public boolean isAsOfQuery() {
+ public final boolean isAsOfQuery() {
return asOf != null;
}
@Override
- public boolean isAsDraft() {
+ public final boolean isAsDraft() {
return TemporalMode.DRAFT == temporalMode;
}
@Override
- public boolean isIncludeSoftDeletes() {
+ public final boolean isIncludeSoftDeletes() {
return TemporalMode.SOFT_DELETED == temporalMode;
}
@Override
- public void setMode(Mode mode) {
+ public final void setMode(Mode mode) {
this.mode = mode;
}
@Override
- public boolean isUsageProfiling() {
+ public final boolean isUsageProfiling() {
return usageProfiling;
}
@Override
- public void setUsageProfiling(boolean usageProfiling) {
+ public final void setUsageProfiling(boolean usageProfiling) {
this.usageProfiling = usageProfiling;
}
@Override
- public void setParentNode(ObjectGraphNode parentNode) {
+ public final void setParentNode(ObjectGraphNode parentNode) {
this.parentNode = parentNode;
}
@Override
- public ObjectGraphNode getParentNode() {
+ public final ObjectGraphNode getParentNode() {
return parentNode;
}
@Override
- public ObjectGraphNode setOrigin(CallOrigin callOrigin) {
+ public final ObjectGraphNode setOrigin(CallOrigin callOrigin) {
// create a 'origin' which links this query to the profiling information
ObjectGraphOrigin o = new ObjectGraphOrigin(calculateOriginQueryHash(), callOrigin, beanType.getName());
parentNode = new ObjectGraphNode(o, null);
@@ -1006,7 +1005,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
/**
* Calculate the query hash for either AutoTune query tuning or Query Plan caching.
*/
- CQueryPlanKey createQueryPlanKey() {
+ final CQueryPlanKey createQueryPlanKey() {
if (isNativeSql()) {
String bindHash = (bindParams == null) ? "" : bindParams.calcQueryPlanHash();
queryPlanKey = new NativeSqlQueryPlanKey(type.ordinal() + nativeSql + "-" + firstRow + "-" + maxRows + "-" + bindHash);
@@ -1101,17 +1100,17 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public boolean isNativeSql() {
+ public final boolean isNativeSql() {
return nativeSql != null;
}
@Override
- public String getNativeSql() {
+ public final String getNativeSql() {
return nativeSql;
}
@Override
- public Object getQueryPlanKey() {
+ public final Object getQueryPlanKey() {
return queryPlanKey;
}
@@ -1119,7 +1118,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Prepare the query which prepares any expressions (sub-query expressions etc) and calculates the query plan key.
*/
@Override
- public CQueryPlanKey prepare(SpiOrmQueryRequest request) {
+ public final CQueryPlanKey prepare(SpiOrmQueryRequest request) {
prepareExpressions(request);
prepareForPaging();
queryPlanKey = createQueryPlanKey();
@@ -1157,7 +1156,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void queryBindKey(BindValuesKey key) {
+ public final void queryBindKey(BindValuesKey key) {
key.add(id);
if (whereExpressions != null) whereExpressions.queryBindKey(key);
if (havingExpressions != null) havingExpressions.queryBindKey(key);
@@ -1173,7 +1172,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
*
*/
@Override
- public HashQuery queryHash() {
+ public final HashQuery queryHash() {
// calculateQueryPlanHash is called just after potential AutoTune tuning
// so queryPlanHash is calculated well before this method is called
BindValuesKey bindKey = new BindValuesKey();
@@ -1182,7 +1181,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public boolean isRawSql() {
+ public final boolean isRawSql() {
return rawSql != null;
}
@@ -1190,151 +1189,151 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Return the timeout.
*/
@Override
- public int getTimeout() {
+ public final int getTimeout() {
return timeout;
}
@Override
- public boolean hasMaxRowsOrFirstRow() {
+ public final boolean hasMaxRowsOrFirstRow() {
return maxRows > 0 || firstRow > 0;
}
@Override
- public boolean isVersionsBetween() {
+ public final boolean isVersionsBetween() {
return versionsStart != null;
}
@Override
- public Timestamp getVersionStart() {
+ public final Timestamp getVersionStart() {
return versionsStart;
}
@Override
- public Timestamp getVersionEnd() {
+ public final Timestamp getVersionEnd() {
return versionsEnd;
}
@Override
- public Boolean isReadOnly() {
+ public final Boolean isReadOnly() {
return readOnly;
}
@Override
- public Query setReadOnly(boolean readOnly) {
+ public final Query setReadOnly(boolean readOnly) {
this.readOnly = readOnly;
return this;
}
@Override
- public boolean isBeanCachePut() {
+ public final boolean isBeanCachePut() {
return useBeanCache.isPut() && beanDescriptor.isBeanCaching();
}
@Override
- public boolean isBeanCacheGet() {
+ public final boolean isBeanCacheGet() {
return useBeanCache.isGet() && beanDescriptor.isBeanCaching();
}
@Override
- public boolean isForceHitDatabase() {
+ public final boolean isForceHitDatabase() {
return forUpdate != null || CacheMode.PUT == useBeanCache;
}
@Override
- public void resetBeanCacheAutoMode(boolean findOne) {
+ public final void resetBeanCacheAutoMode(boolean findOne) {
if (useBeanCache == CacheMode.AUTO && useQueryCache != CacheMode.OFF) {
useBeanCache = CacheMode.OFF;
}
}
@Override
- public CacheMode getUseBeanCache() {
+ public final CacheMode getUseBeanCache() {
return useBeanCache;
}
@Override
- public CacheMode getUseQueryCache() {
+ public final CacheMode getUseQueryCache() {
return useQueryCache;
}
@Override
- public Query setBeanCacheMode(CacheMode beanCacheMode) {
+ public final Query setBeanCacheMode(CacheMode beanCacheMode) {
this.useBeanCache = beanCacheMode;
return this;
}
@Override
- public Query setUseQueryCache(CacheMode useQueryCache) {
+ public final Query setUseQueryCache(CacheMode useQueryCache) {
this.useQueryCache = useQueryCache;
return this;
}
@Override
- public Query setLoadBeanCache(boolean loadBeanCache) {
+ public final Query setLoadBeanCache(boolean loadBeanCache) {
this.useBeanCache = CacheMode.PUT;
return this;
}
@Override
- public Query setTimeout(int secs) {
+ public final Query setTimeout(int secs) {
this.timeout = secs;
return this;
}
@Override
- public void selectProperties(Set props) {
+ public final void selectProperties(Set props) {
detail.selectProperties(props);
}
@Override
- public void fetchProperties(String property, Set columns, FetchConfig config) {
+ public final void fetchProperties(String property, Set columns, FetchConfig config) {
detail.fetchProperties(property, columns, config);
}
@Override
- public void selectProperties(OrmQueryProperties properties) {
+ public final void selectProperties(OrmQueryProperties properties) {
detail.selectProperties(properties);
}
@Override
- public void fetchProperties(String path, OrmQueryProperties other) {
+ public final void fetchProperties(String path, OrmQueryProperties other) {
detail.fetchProperties(path, other);
}
@Override
- public void addNested(String name, OrmQueryDetail nestedDetail, FetchConfig config) {
+ public final void addNested(String name, OrmQueryDetail nestedDetail, FetchConfig config) {
detail.addNested(name, nestedDetail, config);
}
@Override
- public Query select(String columns) {
+ public final Query select(String columns) {
detail.select(columns);
return this;
}
@Override
- public Query select(FetchGroup fetchGroup) {
+ public final Query select(FetchGroup fetchGroup) {
this.detail = ((SpiFetchGroup) fetchGroup).detail();
return this;
}
@Override
- public Query fetch(String path) {
+ public final Query fetch(String path) {
return fetch(path, null, null);
}
@Override
- public Query fetch(String path, FetchConfig joinConfig) {
+ public final Query fetch(String path, FetchConfig joinConfig) {
return fetch(path, null, joinConfig);
}
@Override
- public Query fetch(String path, String properties) {
+ public final Query fetch(String path, String properties) {
return fetch(path, properties, null);
}
@Override
- public Query fetch(String path, String properties, FetchConfig config) {
+ public final Query fetch(String path, String properties, FetchConfig config) {
if (nativeSql != null && (config == null || config.isJoin())) {
// can't use fetch join with nativeSql (as the root query)
config = FETCH_QUERY;
@@ -1343,32 +1342,32 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public Query fetchQuery(String path) {
+ public final Query fetchQuery(String path) {
return fetchInternal(path, null, FETCH_QUERY);
}
@Override
- public Query fetchCache(String path) {
+ public final Query fetchCache(String path) {
return fetchInternal(path, null, FETCH_CACHE);
}
@Override
- public Query fetchLazy(String path) {
+ public final Query fetchLazy(String path) {
return fetchInternal(path, null, FETCH_LAZY);
}
@Override
- public Query fetchQuery(String path, String properties) {
+ public final Query fetchQuery(String path, String properties) {
return fetchInternal(path, properties, FETCH_QUERY);
}
@Override
- public Query fetchCache(String path, String properties) {
+ public final Query fetchCache(String path, String properties) {
return fetchInternal(path, properties, FETCH_CACHE);
}
@Override
- public Query fetchLazy(String path, String properties) {
+ public final Query fetchLazy(String path, String properties) {
return fetchInternal(path, properties, FETCH_LAZY);
}
@@ -1378,45 +1377,45 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public Query usingTransaction(Transaction transaction) {
+ public final Query usingTransaction(Transaction transaction) {
this.transaction = (SpiTransaction) transaction;
return this;
}
@Override
- public Query usingConnection(Connection connection) {
+ public final Query usingConnection(Connection connection) {
this.transaction = new ExternalJdbcTransaction(connection);
return this;
}
@Override
- public Query usingDatabase(Database database) {
+ public final Query usingDatabase(Database database) {
this.server = (SpiEbeanServer) database;
return this;
}
@Override
- public int delete() {
+ public final int delete() {
return server.delete(this, transaction);
}
@Override
- public int delete(Transaction transaction) {
+ public final int delete(Transaction transaction) {
return server.delete(this, transaction);
}
@Override
- public int update() {
+ public final int update() {
return server.update(this, transaction);
}
@Override
- public int update(Transaction transaction) {
+ public final int update(Transaction transaction) {
return server.update(this, transaction);
}
@Override
- public List findIds() {
+ public final List findIds() {
// a copy of this query is made in the server
// as the query needs to modified (so we modify
// the copy rather than this query instance)
@@ -1424,12 +1423,12 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public boolean exists() {
+ public final boolean exists() {
return server.exists(this, transaction);
}
@Override
- public int findCount() {
+ public final int findCount() {
// a copy of this query is made in the server
// as the query needs to modified (so we modify
// the copy rather than this query instance)
@@ -1437,38 +1436,38 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void findEachWhile(Predicate consumer) {
+ public final void findEachWhile(Predicate consumer) {
server.findEachWhile(this, consumer, transaction);
}
@Override
- public void findEach(Consumer consumer) {
+ public final void findEach(Consumer consumer) {
server.findEach(this, consumer, transaction);
}
@Override
- public void findEach(int batch, Consumer> consumer) {
+ public final void findEach(int batch, Consumer> consumer) {
server.findEach(this, batch, consumer, transaction);
}
@Override
- public QueryIterator findIterate() {
+ public final QueryIterator findIterate() {
return server.findIterate(this, transaction);
}
@Override
- public Stream findStream() {
+ public final Stream findStream() {
return server.findStream(this, transaction);
}
@Override
- public List> findVersions() {
+ public final List> findVersions() {
this.temporalMode = TemporalMode.VERSIONS;
return server.findVersions(this, transaction);
}
@Override
- public List> findVersionsBetween(Timestamp start, Timestamp end) {
+ public final List> findVersionsBetween(Timestamp start, Timestamp end) {
if (start == null || end == null) {
throw new IllegalArgumentException("start and end must not be null");
}
@@ -1479,64 +1478,64 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public List findList() {
+ public final List findList() {
return server.findList(this, transaction);
}
@Override
- public Set findSet() {
+ public final Set findSet() {
return server.findSet(this, transaction);
}
@Override
- public Map findMap() {
+ public final Map findMap() {
return server.findMap(this, transaction);
}
@Override
@SuppressWarnings("unchecked")
- public List findSingleAttributeList() {
+ public final List findSingleAttributeList() {
return (List) server.findSingleAttributeList(this, transaction);
}
@Override
- public A findSingleAttribute() {
+ public final A findSingleAttribute() {
List list = findSingleAttributeList();
return !list.isEmpty() ? list.get(0) : null;
}
@Override
- public T findOne() {
+ public final T findOne() {
return server.findOne(this, transaction);
}
@Override
- public Optional findOneOrEmpty() {
+ public final Optional findOneOrEmpty() {
return server.findOneOrEmpty(this, transaction);
}
@Override
- public FutureIds findFutureIds() {
+ public final FutureIds findFutureIds() {
return server.findFutureIds(this, transaction);
}
@Override
- public FutureList findFutureList() {
+ public final FutureList findFutureList() {
return server.findFutureList(this, transaction);
}
@Override
- public FutureRowCount findFutureCount() {
+ public final FutureRowCount findFutureCount() {
return server.findFutureCount(this, transaction);
}
@Override
- public PagedList findPagedList() {
+ public final PagedList findPagedList() {
return server.findPagedList(this, transaction);
}
@Override
- public Query setParameter(Object value) {
+ public final Query setParameter(Object value) {
if (bindParams == null) {
bindParams = new BindParams();
}
@@ -1545,7 +1544,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public Query setParameters(Object... values) {
+ public final Query setParameters(Object... values) {
if (bindParams == null) {
bindParams = new BindParams();
}
@@ -1559,7 +1558,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* have in the query.
*/
@Override
- public Query setParameter(int position, Object value) {
+ public final Query setParameter(int position, Object value) {
if (bindParams == null) {
bindParams = new BindParams();
}
@@ -1571,7 +1570,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Set a named bind parameter. Named parameters have a colon to prefix the name.
*/
@Override
- public Query setParameter(String name, Object value) {
+ public final Query setParameter(String name, Object value) {
if (namedParams != null) {
ONamedParam param = namedParams.get(name);
if (param != null) {
@@ -1587,7 +1586,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void setArrayParameter(String name, Collection> values) {
+ public final void setArrayParameter(String name, Collection> values) {
if (namedParams != null) {
throw new IllegalStateException("setArrayParameter() not supported when EQL parsed query");
}
@@ -1598,22 +1597,22 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public boolean checkPagingOrderBy() {
+ public final boolean checkPagingOrderBy() {
return orderById && !useDocStore;
}
@Override
- public boolean orderByIsEmpty() {
+ public final boolean orderByIsEmpty() {
return orderBy == null || orderBy.isEmpty();
}
@Override
- public OrderBy getOrderBy() {
+ public final OrderBy getOrderBy() {
return orderBy;
}
@Override
- public OrderBy orderBy() {
+ public final OrderBy orderBy() {
if (orderBy == null) {
orderBy = new OrderBy<>(this, null);
}
@@ -1621,7 +1620,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public Query orderBy(String orderByClause) {
+ public final Query orderBy(String orderByClause) {
if (orderByClause == null || orderByClause.trim().isEmpty()) {
this.orderBy = null;
} else {
@@ -1631,7 +1630,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public Query setOrderBy(OrderBy orderBy) {
+ public final Query setOrderBy(OrderBy orderBy) {
this.orderBy = orderBy;
if (orderBy != null) {
orderBy.setQuery(this);
@@ -1640,12 +1639,12 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public boolean isManualId() {
+ public final boolean isManualId() {
return manualId;
}
@Override
- public void setManualId() {
+ public final void setManualId() {
if (detail != null && detail.hasSelectClause()) {
this.manualId = true;
}
@@ -1655,7 +1654,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* return true if user specified to use SQL DISTINCT (effectively excludes id property).
*/
@Override
- public boolean isDistinct() {
+ public final boolean isDistinct() {
return distinct;
}
@@ -1663,35 +1662,35 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Internally set to use SQL DISTINCT on the query but still have id property included.
*/
@Override
- public Query setDistinct(boolean distinct) {
+ public final Query setDistinct(boolean distinct) {
this.distinct = distinct;
return this;
}
@Override
- public Query setCountDistinct(CountDistinctOrder countDistinctOrder) {
+ public final Query setCountDistinct(CountDistinctOrder countDistinctOrder) {
this.countDistinctOrder = countDistinctOrder;
return this;
}
@Override
- public boolean isCountDistinct() {
+ public final boolean isCountDistinct() {
return countDistinctOrder != null;
}
@Override
- public Class getBeanType() {
+ public final Class getBeanType() {
return beanType;
}
@Override
- public Class extends T> getInheritType() {
+ public final Class extends T> getInheritType() {
return beanDescriptor.type();
}
@SuppressWarnings("unchecked")
@Override
- public Query setInheritType(Class extends T> type) {
+ public final Query setInheritType(Class extends T> type) {
if (type == beanType) {
return this;
}
@@ -1705,71 +1704,71 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public String toString() {
+ public final String toString() {
return "Query [" + whereExpressions + "]";
}
@Override
- public TableJoin getM2mIncludeJoin() {
+ public final TableJoin getM2mIncludeJoin() {
return m2mIncludeJoin;
}
@Override
- public void setM2MIncludeJoin(TableJoin m2mIncludeJoin) {
+ public final void setM2MIncludeJoin(TableJoin m2mIncludeJoin) {
this.m2mIncludeJoin = m2mIncludeJoin;
}
@Override
- public Query setDisableLazyLoading(boolean disableLazyLoading) {
+ public final Query setDisableLazyLoading(boolean disableLazyLoading) {
this.disableLazyLoading = disableLazyLoading;
return this;
}
@Override
- public boolean isDisableLazyLoading() {
+ public final boolean isDisableLazyLoading() {
return disableLazyLoading;
}
@Override
- public int getFirstRow() {
+ public final int getFirstRow() {
return firstRow;
}
@Override
- public Query setFirstRow(int firstRow) {
+ public final Query setFirstRow(int firstRow) {
this.firstRow = firstRow;
return this;
}
@Override
- public int getMaxRows() {
+ public final int getMaxRows() {
return maxRows;
}
@Override
- public Query setMaxRows(int maxRows) {
+ public final Query setMaxRows(int maxRows) {
this.maxRows = maxRows;
return this;
}
@Override
- public String getMapKey() {
+ public final String getMapKey() {
return mapKey;
}
@Override
- public Query setMapKey(String mapKey) {
+ public final Query setMapKey(String mapKey) {
this.mapKey = mapKey;
return this;
}
@Override
- public Object getId() {
+ public final Object getId() {
return id;
}
@Override
- public Query setId(Object id) {
+ public final Query setId(Object id) {
if (id == null) {
throw new NullPointerException("The id is null");
}
@@ -1778,18 +1777,18 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public BindParams getBindParams() {
+ public final BindParams getBindParams() {
return bindParams;
}
@Override
- public Query where(Expression expression) {
+ public final Query where(Expression expression) {
where().add(expression);
return this;
}
@Override
- public ExpressionList text() {
+ public final ExpressionList text() {
if (textExpressions == null) {
useDocStore = true;
textExpressions = new DefaultExpressionList<>(this);
@@ -1798,7 +1797,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public ExpressionList where() {
+ public final ExpressionList where() {
if (whereExpressions == null) {
whereExpressions = new DefaultExpressionList<>(this, null);
}
@@ -1806,20 +1805,20 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void simplifyExpressions() {
+ public final void simplifyExpressions() {
if (whereExpressions != null) {
whereExpressions.simplify();
}
}
@Override
- public Query having(Expression expression) {
+ public final Query having(Expression expression) {
having().add(expression);
return this;
}
@Override
- public ExpressionList having() {
+ public final ExpressionList having() {
if (havingExpressions == null) {
havingExpressions = new DefaultExpressionList<>(this, null);
}
@@ -1827,32 +1826,32 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public SpiExpressionList getHavingExpressions() {
+ public final SpiExpressionList getHavingExpressions() {
return havingExpressions;
}
@Override
- public SpiExpressionList getWhereExpressions() {
+ public final SpiExpressionList getWhereExpressions() {
return whereExpressions;
}
@Override
- public SpiExpressionList getTextExpression() {
+ public final SpiExpressionList getTextExpression() {
return textExpressions;
}
@Override
- public String getGeneratedSql() {
+ public final String getGeneratedSql() {
return generatedSql;
}
@Override
- public void setGeneratedSql(String generatedSql) {
+ public final void setGeneratedSql(String generatedSql) {
this.generatedSql = generatedSql;
}
@Override
- public void checkNamedParameters() {
+ public final void checkNamedParameters() {
if (namedParams != null) {
for (ONamedParam value : namedParams.values()) {
value.checkValueSet();
@@ -1861,7 +1860,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public SpiNamedParam createNamedParameter(String name) {
+ public final SpiNamedParam createNamedParameter(String name) {
if (namedParams == null) {
namedParams = new HashMap<>();
}
@@ -1869,84 +1868,84 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
}
@Override
- public void setDefaultFetchBuffer(int fetchSize) {
+ public final void setDefaultFetchBuffer(int fetchSize) {
if (bufferFetchSizeHint == 0) {
bufferFetchSizeHint = fetchSize;
}
}
@Override
- public Query setBufferFetchSizeHint(int bufferFetchSizeHint) {
+ public final Query setBufferFetchSizeHint(int bufferFetchSizeHint) {
this.bufferFetchSizeHint = bufferFetchSizeHint;
return this;
}
@Override
- public int getBufferFetchSizeHint() {
+ public final int getBufferFetchSizeHint() {
return bufferFetchSizeHint;
}
@Override
- public Query setDisableReadAuditing() {
+ public final Query setDisableReadAuditing() {
this.disableReadAudit = true;
return this;
}
@Override
- public boolean isDisableReadAudit() {
+ public final boolean isDisableReadAudit() {
return disableReadAudit;
}
@Override
- public boolean isFutureFetch() {
+ public final boolean isFutureFetch() {
return futureFetch;
}
@Override
- public void setFutureFetch(boolean backgroundFetch) {
+ public final void setFutureFetch(boolean backgroundFetch) {
this.futureFetch = backgroundFetch;
}
@Override
- public void setFutureFetchAudit(ReadEvent event) {
+ public final void setFutureFetchAudit(ReadEvent event) {
this.futureFetchAudit = event;
}
@Override
- public ReadEvent getFutureFetchAudit() {
+ public final ReadEvent getFutureFetchAudit() {
return futureFetchAudit;
}
@Override
- public Query setBaseTable(String baseTable) {
+ public final Query setBaseTable(String baseTable) {
this.baseTable = baseTable;
return this;
}
@Override
- public String getBaseTable() {
+ public final String getBaseTable() {
return baseTable;
}
@Override
- public Query alias(String alias) {
+ public final Query alias(String alias) {
this.rootTableAlias = alias;
return this;
}
@Override
- public String getAlias() {
+ public final String getAlias() {
return rootTableAlias;
}
@Override
- public String getAlias(String defaultAlias) {
+ public final String getAlias(String defaultAlias) {
return rootTableAlias != null ? rootTableAlias : defaultAlias;
}
@Override
- public Set validate() {
+ public final Set validate() {
return server.validateQuery(this);
}
@@ -1954,7 +1953,7 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
* Validate all the expression properties/paths given the bean descriptor.
*/
@Override
- public Set validate(BeanType desc) {
+ public final Set validate(BeanType desc) {
SpiExpressionValidation validation = new SpiExpressionValidation(desc);
if (whereExpressions != null) {
whereExpressions.validate(validation);
@@ -1970,29 +1969,29 @@ public final class DefaultOrmQuery extends AbstractQuery implements SpiQuery<
return validation.getUnknownProperties();
}
- void setUpdateProperties(OrmUpdateProperties updateProperties) {
+ final void setUpdateProperties(OrmUpdateProperties updateProperties) {
this.updateProperties = updateProperties;
}
@Override
- public OrmUpdateProperties getUpdateProperties() {
+ public final OrmUpdateProperties getUpdateProperties() {
return updateProperties;
}
@Override
- public ProfileLocation getProfileLocation() {
+ public final ProfileLocation getProfileLocation() {
return profileLocation;
}
@Override
- public void handleLoadError(String fullName, Exception e) {
+ public final void handleLoadError(String fullName, Exception e) {
if (!allowLoadErrors) {
throw new PersistenceException("Error loading on " + fullName, e);
}
}
@Override
- public Query orderById(boolean orderById) {
+ public final Query orderById(boolean orderById) {
this.orderById = orderById;
return this;
}