All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy