summaryrefslogtreecommitdiff
path: root/src/main/java/com/amazon/carbonado/qe/AbstractQuery.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/amazon/carbonado/qe/AbstractQuery.java')
-rw-r--r--src/main/java/com/amazon/carbonado/qe/AbstractQuery.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/amazon/carbonado/qe/AbstractQuery.java b/src/main/java/com/amazon/carbonado/qe/AbstractQuery.java
index 7639348..767b039 100644
--- a/src/main/java/com/amazon/carbonado/qe/AbstractQuery.java
+++ b/src/main/java/com/amazon/carbonado/qe/AbstractQuery.java
@@ -129,4 +129,26 @@ public abstract class AbstractQuery<S extends Storable> implements Query<S>, App
@Override
public abstract boolean equals(Object obj);
+
+ /**
+ * Called by sliced fetch to ensure that arguments are valid.
+ *
+ * @return false if from is 0 and to is null
+ * @throws IllegalArgumentException if arguments are invalid
+ * @since 1.2
+ */
+ protected boolean checkSliceArguments(long from, Long to) {
+ if (from < 0) {
+ throw new IllegalArgumentException("Slice from is negative: " + from);
+ }
+ if (to == null) {
+ if (from == 0) {
+ return false;
+ }
+ } else if (from > to) {
+ throw new IllegalArgumentException
+ ("Slice from is more than to: " + from + " > " + to);
+ }
+ return true;
+ }
}