summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2019-10-14 11:35:46 +0200
committerGitHub <noreply@github.com>2019-10-14 11:35:46 +0200
commitb31de6acc6b24a6f4c6596385ee20df552701ce3 (patch)
tree6d16a6b82ee3c20d5112ac7dee4477a57086a7a8
parent864c1ae50b5a325bb18dc2de113f09801533ab6a (diff)
parent8f610691c6b235566c89f048dda3f24411cdb556 (diff)
Merge pull request #10974 from vespa-engine/bratseth/stringbucket-constructors
Add constructor for controlling end value include/exclude
-rw-r--r--container-search/abi-spec.json1
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java16
2 files changed, 16 insertions, 1 deletions
diff --git a/container-search/abi-spec.json b/container-search/abi-spec.json
index 4f3e17deb07..723a50dc4a9 100644
--- a/container-search/abi-spec.json
+++ b/container-search/abi-spec.json
@@ -3616,6 +3616,7 @@
"public void <init>(java.lang.String)",
"public void <init>(com.yahoo.search.grouping.request.StringValue)",
"public void <init>(java.lang.String, java.lang.String)",
+ "public void <init>(java.lang.String, java.lang.String, boolean)",
"public void <init>(com.yahoo.search.grouping.request.ConstantValue, com.yahoo.search.grouping.request.ConstantValue)",
"public com.yahoo.search.grouping.request.StringBucket copy()",
"public bridge synthetic com.yahoo.search.grouping.request.BucketValue copy()",
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java b/container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java
index c0bea7003c0..12374fbc60d 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/request/StringBucket.java
@@ -30,7 +30,21 @@ public class StringBucket extends BucketValue {
* @param to the end of the bucket, exclusive
*/
public StringBucket(String from, String to) {
- super(null, null, new StringValue(from), new StringValue(to));
+ this(from, to, false);
+ }
+
+ /**
+ * Constructs a new bucket for a range of strings.
+ *
+ * @param from the start of the bucket, inclusive
+ * @param to the end of the bucket
+ * @param toInclusive whether <code>to</code> value should be included in the bucket
+ */
+ public StringBucket(String from, String to, boolean toInclusive) {
+ super(null,
+ null,
+ new StringValue(from),
+ toInclusive ? nextValue(new StringValue(to)) : new StringValue(to));
}
/**