Class JDOQLTypedQueryImpl<T>
java.lang.Object
org.datanucleus.api.jdo.query.AbstractJDOQLTypedQuery<T>
org.datanucleus.api.jdo.query.JDOQLTypedQueryImpl<T>
- All Implemented Interfaces:
Closeable, Serializable, AutoCloseable, javax.jdo.JDOQLTypedQuery<T>
public class JDOQLTypedQueryImpl<T>
extends AbstractJDOQLTypedQuery<T>
implements javax.jdo.JDOQLTypedQuery<T>
Implementation of a JDOQLTypedQuery.
Note that a JDOQLTypedQuery only supports named parameters.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Collection<T> private booleanprotected Integerprotected Integerprotected JDOFetchPlanprotected Objectprotected booleanprotected Set<org.datanucleus.store.query.Query> Internal queries generated by this typesafe query.protected Map<String, ExpressionImpl> Map of parameter expression keyed by the name.Map of parameters keyed by their name/expression.protected Booleanprivate static final longprotected Set<JDOQLTypedSubqueryImpl> Set of any subqueries used by this query.(package private) booleanFields inherited from class AbstractJDOQLTypedQuery
candidateAlias, candidateCls, compilation, ec, filter, grouping, having, ordering, parentQuery, pm, queryString, rangeLowerExpr, rangeUpperExpr, result, resultClass, resultDistinct, subclasses, type, unique, updateExprs, updateValsFields inherited from interface javax.jdo.JDOQLTypedQuery
QUERY_CLASS_PREFIX -
Constructor Summary
ConstructorsConstructorDescriptionJDOQLTypedQueryImpl(javax.jdo.PersistenceManager pm, Class<T> candidateClass) Constructor for a typesafe query. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidMethod to throw an exception if the query is currently not modifiable.protected voidMethod to assert if this Query is open.voidvoidjavax.jdo.query.PersistableExpressionjavax.jdo.query.CharacterExpressioncharacterParameter(String name) voidclose()voidvoidcloseAll()javax.jdo.query.CollectionExpressioncollectionParameter(String name) <E> javax.jdo.query.CollectionExpression<Collection<E>, E> collectionParameter(String name, Class<E> elementType) org.datanucleus.store.query.compiler.QueryCompilationcompile(org.datanucleus.metadata.MetaDataManager mmgr, org.datanucleus.ClassLoaderResolver clr) Method to compile the typesafe query.javax.jdo.JDOQLTypedQuery<T> datastoreReadTimeoutMillis(Integer interval) javax.jdo.JDOQLTypedQuery<T> datastoreWriteTimeoutMillis(Integer interval) javax.jdo.query.DateExpressiondateParameter(String name) javax.jdo.query.DateTimeExpressiondatetimeParameter(String name) longdelete()Extension method to provide bulk delete capabilities (not part of JDO).longjavax.jdo.JDOQLTypedQuery<T> protected ObjectexecuteInternalQuery(org.datanucleus.store.query.Query internalQuery) <R> List<R> executeResultList(Class<R> resultCls) <R> RexecuteResultUnique(Class<R> resultCls) javax.jdo.JDOQLTypedQuery<T> javax.jdo.JDOQLTypedQuery<T> extensions(Map values) javax.jdo.JDOQLTypedQuery<T> filter(javax.jdo.query.BooleanExpression expr) javax.jdo.query.geospatial.GeospatialHelperjavax.jdo.FetchPlanbooleanprotected org.datanucleus.store.query.QueryConvenience method to generate an internal DataNucleus Query and apply the generic compilation to it.getJDOQLForExpression(org.datanucleus.store.query.expression.Expression expr) javax.jdo.PersistenceManagerstatic StringMethod to return the (simple) name of the query class for a specified class name.javax.jdo.JDOQLTypedQuery<T> groupBy(javax.jdo.query.Expression... exprs) javax.jdo.JDOQLTypedQuery<T> having(javax.jdo.query.Expression expr) <V> javax.jdo.query.IfThenElseExpression<V> ifThen(Class<V> type, javax.jdo.query.BooleanExpression cond, javax.jdo.query.Expression<V> thenValueExpr) <V> javax.jdo.query.IfThenElseExpression<V> ifThen(javax.jdo.query.BooleanExpression cond, V thenValue) <V> javax.jdo.query.IfThenElseExpression<V> ifThenElse(Class<V> type, javax.jdo.query.BooleanExpression ifExpr, javax.jdo.query.Expression<V> thenValueExpr, javax.jdo.query.Expression<V> elseValueExpr) <V> javax.jdo.query.IfThenElseExpression<V> ifThenElse(javax.jdo.query.BooleanExpression cond, javax.jdo.query.Expression<V> thenValueExpr, V elseValue) <V> javax.jdo.query.IfThenElseExpression<V> ifThenElse(javax.jdo.query.BooleanExpression cond, V thenValue, javax.jdo.query.Expression<V> elseValueExpr) <V> javax.jdo.query.IfThenElseExpression<V> ifThenElse(javax.jdo.query.BooleanExpression cond, V thenValue, V elseValue) javax.jdo.JDOQLTypedQuery<T> ignoreCache(boolean flag) javax.jdo.JDOQLTypedQuery<T> booleanisClosed()Accessor for whether this Query is closed.booleanjavax.jdo.query.ListExpressionlistParameter(String name) <E> javax.jdo.query.ListExpression<List<E>, E> listParameter(String name, Class<E> elementType) javax.jdo.query.MapExpressionmapParameter(String name) <K,V> javax.jdo.query.MapExpression <Map<K, V>, K, V> mapParameter(String name, Class<K> keyType, Class<V> valueType) javax.jdo.query.NumericExpression<? extends Number> numericParameter(String name) <N extends Number>
javax.jdo.query.NumericExpression<N> numericParameter(String name, Class<N> type) javax.jdo.JDOQLTypedQuery<T> orderBy(javax.jdo.query.OrderExpression... exprs) <P> javax.jdo.query.Expression<P> javax.jdo.JDOQLTypedQuery<T> range(long lowerIncl, long upperExcl) javax.jdo.JDOQLTypedQuery<T> range(javax.jdo.query.Expression paramLowerInclExpr, javax.jdo.query.Expression paramUpperExclExpr) javax.jdo.JDOQLTypedQuery<T> range(javax.jdo.query.NumericExpression lowerInclExpr, javax.jdo.query.NumericExpression upperExclExpr) javax.jdo.JDOQLTypedQuery<T> result(boolean distinct, javax.jdo.query.Expression<?>... exprs) javax.jdo.JDOQLTypedQuery<T> saveAsNamedQuery(String name) javax.jdo.JDOQLTypedQuery<T> serializeRead(Boolean serialize) javax.jdo.JDOQLTypedQuery<T> Method to specify the update of a field of the candidate.javax.jdo.JDOQLTypedQuery<T> setCandidates(Collection<T> candidates) javax.jdo.JDOQLTypedQuery<T> setParameter(String paramName, Object value) javax.jdo.JDOQLTypedQuery<T> setParameter(javax.jdo.query.Expression paramExpr, Object value) javax.jdo.JDOQLTypedQuery<T> setParameters(Map namedParamMap) javax.jdo.query.StringExpressionstringParameter(String name) <S> javax.jdo.JDOQLTypedSubquery<S> javax.jdo.JDOQLTypedSubquery<T> <E> javax.jdo.JDOQLTypedSubquery<E> subquery(javax.jdo.query.CollectionExpression<Collection<E>, E> candidateCollection, Class<E> candidateClass, String candidateAlias) javax.jdo.query.TimeExpressiontimeParameter(String name) javax.jdo.JDOQLTypedQuery<T> longupdate()Extension method to provide bulk update capabilities (not part of JDO).private voidConvenience method to validate the defined parameters, and the values provided for these parameters.<V> javax.jdo.query.Expression<V> Methods inherited from class AbstractJDOQLTypedQuery
discardCompiled, getCompilation, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javax.jdo.JDOQLTypedQuery
toString
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
closed
private boolean closed -
fetchPlan
-
ignoreCache
protected boolean ignoreCache -
serializeRead
-
datastoreReadTimeout
-
datastoreWriteTimeout
-
extensions
-
candidates
-
unmodifiable
boolean unmodifiable -
parameterExprByName
Map of parameter expression keyed by the name. -
parameterValuesByName
-
subqueries
Set of any subqueries used by this query. -
internalQueries
Internal queries generated by this typesafe query. Managed so that they can be closed. TODO Use just one? -
geospatialHelper
-
-
Constructor Details
-
JDOQLTypedQueryImpl
-
-
Method Details
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
isClosed
public boolean isClosed()Accessor for whether this Query is closed.- Returns:
- Whether this Query is closed.
-
close
-
closeAll
public void closeAll()- Specified by:
closeAllin interfacejavax.jdo.JDOQLTypedQuery<T>
-
candidate
public javax.jdo.query.PersistableExpression candidate()- Specified by:
candidatein interfacejavax.jdo.JDOQLTypedQuery<T>
-
parameter
-
stringParameter
-
characterParameter
-
numericParameter
-
numericParameter
-
dateParameter
-
timeParameter
-
datetimeParameter
-
collectionParameter
-
collectionParameter
public <E> javax.jdo.query.CollectionExpression<Collection<E>, E> collectionParameter(String name, Class<E> elementType) - Specified by:
collectionParameterin interfacejavax.jdo.JDOQLTypedQuery<T>
-
mapParameter
-
mapParameter
-
listParameter
-
listParameter
-
variable
-
ifThenElse
-
ifThenElse
public <V> javax.jdo.query.IfThenElseExpression<V> ifThenElse(javax.jdo.query.BooleanExpression cond, javax.jdo.query.Expression<V> thenValueExpr, V elseValue) - Specified by:
ifThenElsein interfacejavax.jdo.JDOQLTypedQuery<T>
-
ifThenElse
public <V> javax.jdo.query.IfThenElseExpression<V> ifThenElse(javax.jdo.query.BooleanExpression cond, V thenValue, javax.jdo.query.Expression<V> elseValueExpr) - Specified by:
ifThenElsein interfacejavax.jdo.JDOQLTypedQuery<T>
-
ifThenElse
public <V> javax.jdo.query.IfThenElseExpression<V> ifThenElse(javax.jdo.query.BooleanExpression cond, V thenValue, V elseValue) - Specified by:
ifThenElsein interfacejavax.jdo.JDOQLTypedQuery<T>
-
ifThen
-
ifThen
public <V> javax.jdo.query.IfThenElseExpression<V> ifThen(javax.jdo.query.BooleanExpression cond, V thenValue) - Specified by:
ifThenin interfacejavax.jdo.JDOQLTypedQuery<T>
-
excludeSubclasses
-
includeSubclasses
-
filter
-
groupBy
-
having
-
orderBy
-
range
-
range
-
range
-
subquery
-
subquery
-
subquery
public <E> javax.jdo.JDOQLTypedSubquery<E> subquery(javax.jdo.query.CollectionExpression<Collection<E>, E> candidateCollection, Class<E> candidateClass, String candidateAlias) - Specified by:
subqueryin interfacejavax.jdo.JDOQLTypedQuery<T>
-
setParameters
-
setParameter
-
setParameter
-
setCandidates
- Specified by:
setCandidatesin interfacejavax.jdo.JDOQLTypedQuery<T>
-
result
-
executeResultList
-
executeResultUnique
-
executeResultList
-
executeResultUnique
-
executeList
-
executeUnique
-
getInternalQuery
protected org.datanucleus.store.query.Query getInternalQuery()Convenience method to generate an internal DataNucleus Query and apply the generic compilation to it.- Returns:
- The internal DataNucleus query
-
executeInternalQuery
-
deletePersistentAll
public long deletePersistentAll()- Specified by:
deletePersistentAllin interfacejavax.jdo.JDOQLTypedQuery<T>
-
validateParameters
private void validateParameters()Convenience method to validate the defined parameters, and the values provided for these parameters.- Throws:
javax.jdo.JDOUserException- if they are inconsistent
-
set
-
update
public long update()Extension method to provide bulk update capabilities (not part of JDO).- Returns:
- Number of instances that were updated
-
delete
public long delete()Extension method to provide bulk delete capabilities (not part of JDO). This differs from deletePersistentAll() in that it doesn't cascade to related objects (unless the datastore does that automatically), and that it doesn't attempt to update cached objects state to reflect the deletion.- Returns:
- Number of instances that were deleted
-
getFetchPlan
public javax.jdo.FetchPlan getFetchPlan()- Specified by:
getFetchPlanin interfacejavax.jdo.JDOQLTypedQuery<T>
-
getPersistenceManager
public javax.jdo.PersistenceManager getPersistenceManager()- Specified by:
getPersistenceManagerin interfacejavax.jdo.JDOQLTypedQuery<T>
-
compile
public org.datanucleus.store.query.compiler.QueryCompilation compile(org.datanucleus.metadata.MetaDataManager mmgr, org.datanucleus.ClassLoaderResolver clr) Method to compile the typesafe query.- Overrides:
compilein classAbstractJDOQLTypedQuery<T>- Parameters:
mmgr- Metadata managerclr- ClassLoader resolver- Returns:
- The generic compilation
-
getQueryClassNameForClassName
-
getDatastoreReadTimeoutMillis
-
datastoreReadTimeoutMillis
-
getDatastoreWriteTimeoutMillis
-
datastoreWriteTimeoutMillis
-
getSerializeRead
-
serializeRead
-
isUnmodifiable
public boolean isUnmodifiable()- Specified by:
isUnmodifiablein interfacejavax.jdo.JDOQLTypedQuery<T>
-
unmodifiable
-
getIgnoreCache
public boolean getIgnoreCache()- Specified by:
getIgnoreCachein interfacejavax.jdo.JDOQLTypedQuery<T>
-
ignoreCache
-
extension
-
extensions
-
cancelAll
public void cancelAll()- Specified by:
cancelAllin interfacejavax.jdo.JDOQLTypedQuery<T>
-
cancel
-
saveAsNamedQuery
-
getJDOQLForExpression
- Overrides:
getJDOQLForExpressionin classAbstractJDOQLTypedQuery<T>
-
assertIsModifiable
protected void assertIsModifiable()Method to throw an exception if the query is currently not modifiable.- Throws:
org.datanucleus.exceptions.NucleusUserException- Thrown when it is unmodifiable
-
assertIsOpen
protected void assertIsOpen()Method to assert if this Query is open.- Throws:
javax.jdo.JDOFatalUserException- if the Query is closed.
-
geospatialHelper
public javax.jdo.query.geospatial.GeospatialHelper geospatialHelper()- Specified by:
geospatialHelperin interfacejavax.jdo.JDOQLTypedQuery<T>
-