com.hubspot.chrome.devtools.client.core.indexeddb.KeyRange Maven / Gradle / Ivy
package com.hubspot.chrome.devtools.client.core.indexeddb;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Key range.
*/
public final class KeyRange {
private Key lower;
private Key upper;
private Boolean lowerOpen;
private Boolean upperOpen;
@JsonCreator
public KeyRange(@JsonProperty("lower") Key lower, @JsonProperty("upper") Key upper,
@JsonProperty("lowerOpen") Boolean lowerOpen, @JsonProperty("upperOpen") Boolean upperOpen) {
this.lower = lower;
this.upper = upper;
this.lowerOpen = lowerOpen;
this.upperOpen = upperOpen;
}
public Key getLower() {
return lower;
}
public Key getUpper() {
return upper;
}
public Boolean getLowerOpen() {
return lowerOpen;
}
public Boolean getUpperOpen() {
return upperOpen;
}
public static KeyRange.Builder builder() {
return new KeyRange.Builder();
}
public static final class Builder {
private Key lower;
private Key upper;
private Boolean lowerOpen;
private Boolean upperOpen;
private Builder() {
}
public KeyRange.Builder setLower(Key lower) {
this.lower = lower;
return this;
}
public KeyRange.Builder setUpper(Key upper) {
this.upper = upper;
return this;
}
public KeyRange.Builder setLowerOpen(Boolean lowerOpen) {
this.lowerOpen = lowerOpen;
return this;
}
public KeyRange.Builder setUpperOpen(Boolean upperOpen) {
this.upperOpen = upperOpen;
return this;
}
public KeyRange build() {
return new KeyRange(lower, upper, lowerOpen, upperOpen);
}
}
}