You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by an...@apache.org on 2015/06/20 09:23:02 UTC
svn commit: r1686528 - in /db/jdo/trunk/api/src/java/javax/jdo:
JDOQLTypedQuery.java JDOQLTypedSubquery.java
Author: andyj
Date: Sat Jun 20 07:23:01 2015
New Revision: 1686528
URL: http://svn.apache.org/r1686528
Log:
Clean up some methods to match Query
Modified:
db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedQuery.java
db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedSubquery.java
Modified: db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedQuery.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedQuery.java?rev=1686528&r1=1686527&r2=1686528&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedQuery.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedQuery.java Sat Jun 20 07:23:01 2015
@@ -16,6 +16,8 @@
*/
package javax.jdo;
+import java.io.Closeable;
+import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -41,7 +43,7 @@ import javax.jdo.query.TimeExpression;
* Designed to handle JDO query requirements as a whole.
* @param <T> candidate type for this query
*/
-public interface JDOQLTypedQuery<T>
+public interface JDOQLTypedQuery<T> extends Serializable, Closeable
{
public static final String QUERY_CLASS_PREFIX = "Q";
@@ -139,13 +141,6 @@ public interface JDOQLTypedQuery<T>
<V> Expression<V> variable(String name, Class<V> type);
/**
- * Whether the query should ignore the cache and go straight to the datastore.
- * @param ignore Ignore the cache flag
- * @return The query
- */
- JDOQLTypedQuery<T> setIgnoreCache(boolean ignore);
-
- /**
* Method to set the candidates to use over which we are querying.
* If no candidates are set then the query is performed on the datastore.
* @param candidates The candidates
@@ -194,6 +189,14 @@ public interface JDOQLTypedQuery<T>
JDOQLTypedQuery<T> orderBy(OrderExpression<?>... orderExprs);
/**
+ * Method to set the result of the query.
+ * @param distinct Whether results are distinct
+ * @param exprs The result expressions
+ * @return The query
+ */
+ JDOQLTypedQuery<T> result(boolean distinct, Expression<?>... exprs);
+
+ /**
* Method to set the range of any required results, using expressions.
* @param lowerInclExpr The position of the first result (inclusive)
* @param upperExclExpr The position of the last result (exclusive)
@@ -236,7 +239,22 @@ public interface JDOQLTypedQuery<T>
<S> JDOQLTypedSubquery<S> subquery(Class<S> candidate, String candidateAlias);
/**
+ * Method to set the named parameters on this query prior to execution.
+ * @param namedParamMap The map of parameter values keyed by their names.
+ * @return This query
+ */
+ JDOQLTypedQuery<T> setParameters(Map namedParamMap);
+
+ /**
+ * Method to set the values of the numbered parameters on this query prior to execution.
+ * @param paramValues Values of the numbered parameters, in order.
+ * @return This query
+ */
+ JDOQLTypedQuery<T> setParameters(Object... paramValues);
+
+ /**
* Method to set a parameter value for use when executing the query.
+ * TODO Drop this
* @param paramExpr Parameter expression
* @param value The value
* @return The query
@@ -245,6 +263,7 @@ public interface JDOQLTypedQuery<T>
/**
* Method to set a parameter value for use when executing the query.
+ * TODO Drop this
* @param paramName Parameter name
* @param value The value
* @return The query
@@ -253,34 +272,12 @@ public interface JDOQLTypedQuery<T>
/**
* Method to clear all parameter values.
+ * TODO Drop this
* @return The query
*/
JDOQLTypedQuery<T> clearParameters();
/**
- * Add a vendor-specific extension to this query. The key and value are not standard.
- * An implementation must ignore keys that are not recognized.
- * @param key the key of the extension
- * @param value the value of the extension
- * @return The query
- */
- JDOQLTypedQuery<T> addExtension (String key, Object value);
-
- /**
- * Set multiple extensions, or use null to clear all extensions. Map keys and values are not standard.
- * @param extensions the map of extensions
- * @return The query
- * @see #addExtension
- */
- JDOQLTypedQuery<T> setExtensions (Map<String, Object> extensions);
-
-
-
- // Everything below here needs modification to fit in with JDO-652 and discussions on QueryExecution
- // TODO Do we put "boolean distinct, Expression<?>... exprs" in the execute() or have a result(...) method?
- // TODO Do we pass parameters into the execute method(s), and if so, as a Map, or array or both variants?
-
- /**
* Method to execute the query where there are (potentially) multiple rows and we are returning
* the candidate type.
* @return The results
@@ -297,59 +294,33 @@ public interface JDOQLTypedQuery<T>
* Method to execute the query where there are (potentially) multiple rows and we are returning either a
* result type or the candidate type.
* @param resultCls Result class
- * @param distinct Whether to provide distinct results
- * @param exprs Result expression(s)
* @return The results
* @param <R> result type
*/
- <R> List<R> executeResultList(Class<R> resultCls, boolean distinct, Expression<?>... exprs);
+ <R> List<R> executeResultList(Class<R> resultCls);
/**
* Method to execute the query where there is a single row and we are returning either a result type
* or the candidate type.
* @param resultCls Result class
- * @param distinct Whether to provide distinct results
- * @param exprs Result expression(s)
* @return The result
* @param <R> result type
*/
- <R> R executeResultUnique(Class<R> resultCls, boolean distinct, Expression<?>... exprs);
-
- /**
- * Method to execute the query where there are (potentially) multiple rows and we have a single result defined
- * but no result class.
- * @param distinct Whether to provide distinct results
- * @param expr Result expression
- * @return The results
- */
- List<Object> executeResultList(boolean distinct, Expression<?> expr);
-
- /**
- * Method to execute the query where there is a single row and we have a single result defined
- * but no result class.
- * @param distinct Whether to provide distinct results
- * @param expr Result expression
- * @return The results
- */
- Object executeResultUnique(boolean distinct, Expression<?> expr);
+ <R> R executeResultUnique(Class<R> resultCls);
/**
* Method to execute the query where there are (potentially) multiple rows and we have a result defined
* but no result class.
- * @param distinct Whether to provide distinct results
- * @param exprs Result expression(s)
* @return The results
*/
- List<Object[]> executeResultList(boolean distinct, Expression<?>... exprs);
+ List<Object> executeResultList();
/**
* Method to execute the query where there is a single row and we have a result defined
* but no result class.
- * @param distinct Whether to provide distinct results
- * @param exprs Result expression(s)
* @return The results
*/
- Object[] executeResultUnique(boolean distinct, Expression<?>... exprs);
+ Object executeResultUnique();
/**
* Method to execute the query deleting the affected instances.
Modified: db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedSubquery.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedSubquery.java?rev=1686528&r1=1686527&r2=1686528&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedSubquery.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/JDOQLTypedSubquery.java Sat Jun 20 07:23:01 2015
@@ -16,6 +16,8 @@
*/
package javax.jdo;
+import java.io.Serializable;
+
import javax.jdo.query.BooleanExpression;
import javax.jdo.query.CharacterExpression;
import javax.jdo.query.CollectionExpression;
@@ -34,7 +36,7 @@ import javax.jdo.query.TimeExpression;
*
* @param <T> (Candidate) type being represented
*/
-public interface JDOQLTypedSubquery<T>
+public interface JDOQLTypedSubquery<T> extends Serializable
{
/**
* Method to return an expression for the candidate of the subquery.