From d4ebb9a01c3754d77b1fe2c4ae682d1c46436943 Mon Sep 17 00:00:00 2001 From: Thomas Risberg Date: Thu, 3 Feb 2011 16:09:44 -0500 Subject: [PATCH] added skip also --- .../document/mongodb/builder/BasicQuery.java | 20 +++++++++++++++ .../data/document/mongodb/builder/Query.java | 25 ++++++++++++++++++- .../mongodb/builder/QueryDefinition.java | 4 +++ 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/BasicQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/BasicQuery.java index 2fda08181..a21055520 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/BasicQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/BasicQuery.java @@ -24,6 +24,10 @@ public class BasicQuery implements QueryDefinition { private DBObject fieldsObject = null; + private DBObject sortObject = null; + + private int skip; + private int limit; public BasicQuery(String query) { @@ -54,6 +58,22 @@ public class BasicQuery implements QueryDefinition { return fieldsObject; } + public DBObject getSortObject() { + return sortObject; + } + + public void setSortObject(DBObject sortObject) { + this.sortObject = sortObject; + } + + public int getSkip() { + return skip; + } + + public void setSkip(int skip) { + this.skip = skip; + } + public int getLimit() { return this.limit; } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/Query.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/Query.java index 74c05ef41..6b2bef9ab 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/Query.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/Query.java @@ -26,6 +26,10 @@ public class Query implements QueryDefinition { private Field fieldSpec; + private Sort sort; + + private int skip; + private int limit; public static Criteria newQuery(String key) { @@ -57,6 +61,15 @@ public class Query implements QueryDefinition { return this; } + public Sort sort() { + synchronized (this) { + if (this.sort == null) { + this.sort = new Sort(); + } + } + return this.sort; + } + public QueryDefinition build() { return this; } @@ -78,8 +91,18 @@ public class Query implements QueryDefinition { return fieldSpec.getFieldsObject(); } + public DBObject getSortObject() { + if (this.sort == null) { + return null; + } + return this.sort.getSortObject(); + } + + public int getSkip() { + return this.skip; + } + public int getLimit() { return this.limit; } - } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/QueryDefinition.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/QueryDefinition.java index 1ba084df8..98b8191ea 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/QueryDefinition.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/builder/QueryDefinition.java @@ -24,5 +24,9 @@ public interface QueryDefinition { DBObject getFieldsObject(); + DBObject getSortObject(); + + int getSkip(); + int getLimit(); }