You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2015/10/30 12:08:19 UTC
svn commit: r1711446 - in
/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query:
Query.java QueryBuilder.java QueryInstructions.java
Author: cziegeler
Date: Fri Oct 30 11:08:19 2015
New Revision: 1711446
URL: http://svn.apache.org/viewvc?rev=1711446&view=rev
Log:
SLING-4752 : New resource query API. update api
Modified:
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/Query.java
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryBuilder.java
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryInstructions.java
Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/Query.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/Query.java?rev=1711446&r1=1711445&r2=1711446&view=diff
==============================================================================
--- sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/Query.java (original)
+++ sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/Query.java Fri Oct 30 11:08:19 2015
@@ -19,6 +19,7 @@
package org.apache.sling.api.resource.query;
import java.util.List;
+import java.util.Set;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
@@ -100,24 +101,24 @@ public interface Query {
/**
* Returns constraints on the resource paths.
- * This method returns an empty list if it's a compound query.
- * @return The list of paths, might be empty.
+ * This method returns {@code null} if it's a compound query.
+ * @return The list of paths, might be empty or {@code null}.
*/
- @CheckForNull List<String> getPaths();
+ @CheckForNull Set<String> getPaths();
/**
* Returns constraints on the resource names.
- * This method returns an empty list if it's a compound query.
- * @return The list of names, might be empty.
+ * This method returns {@code null} if it's a compound query.
+ * @return The list of names, might be empty or {@code null}.
*/
- @CheckForNull List<String> getResourceNames();
+ @CheckForNull Set<String> getResourceNames();
/**
* Returns constraints on the resource types.
- * This method returns an empty list if it's a compound query.
- * @return The list of types, might be empty.
+ * This method returns {@code null} if it's a compound query.
+ * @return The list of types, might be empty or {@code null}.
*/
- @CheckForNull List<String> getIsA();
+ @CheckForNull Set<String> getIsA();
/**
* Return the list of property constraints.
@@ -125,11 +126,11 @@ public interface Query {
* is {@link QueryType#SINGLE}.
* @return The list of property constraints or {@code null}.
*/
- @CheckForNull List<PropertyConstraint> getPropertyConstraints();
+ @CheckForNull Set<PropertyConstraint> getPropertyConstraints();
/**
- * Returns the queries if {@link #getPartOperatorType()} does not
- * return {@link PartOperatorType#NONE}.
+ * Returns the queries if {@link #getQueryType()} does not
+ * return {@link QueryType#SINGLE}.
* @return The parts or {@code null} if this query is not an operation
* on other queries.
*/
Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryBuilder.java?rev=1711446&r1=1711445&r2=1711446&view=diff
==============================================================================
--- sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryBuilder.java (original)
+++ sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryBuilder.java Fri Oct 30 11:08:19 2015
@@ -41,7 +41,7 @@ public interface QueryBuilder {
@Nonnull Query build();
/**
- * At a path condition to the query.
+ * Add a path condition to the query.
* If several paths are added to the query, these are handled as an or.
* If no path is specified for a query, the search paths of the resource
* resolver are used.
Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryInstructions.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryInstructions.java?rev=1711446&r1=1711445&r2=1711446&view=diff
==============================================================================
--- sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryInstructions.java (original)
+++ sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/query/QueryInstructions.java Fri Oct 30 11:08:19 2015
@@ -20,8 +20,11 @@ package org.apache.sling.api.resource.qu
import java.util.List;
+import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
+import org.apache.sling.api.resource.Resource;
+
import aQute.bnd.annotation.ProviderType;
/**
@@ -35,6 +38,7 @@ public interface QueryInstructions {
String getPropertyName();
boolean isAscending();
}
+
/**
* Unique global id.
* The id can be used by implementations to cache the parsed query.
@@ -51,6 +55,12 @@ public interface QueryInstructions {
int getLimit();
/**
+ * Get the currently provided continuation key.
+ * @return A continuation key or {@code null}.
+ */
+ @CheckForNull String getContinuationKey();
+
+ /**
* Generate a continuation key to be used with {@link QueryInstructionsBuilder#continueAt(String)}.
* The continuation can be used for paging: the last resource of a page is feed into this
* method to get a key to be used to get the start for the next page.
@@ -59,7 +69,7 @@ public interface QueryInstructions {
* @return A continuation key for the next resource after this one, according to the sorting.
* @throws IllegalArgumentException if the resource is {@code null}
*/
- @Nonnull String getContinuationKey();
+ @Nonnull String generateContinuationKey(Resource resource);
/**
* Unmodifiable list with the sort criteria.