LongRange.java
package redis.clients.jedis.args;
import java.util.Objects;
/**
* Inclusive {@code [start, end]} index range, used by array commands such as {@code ARDELRANGE} and
* {@code AROP}. Each range is serialized on the wire as two integer arguments {@code start end}.
*/
public final class LongRange {
private final long start;
private final long end;
private LongRange(long start, long end) {
this.start = start;
this.end = end;
}
/**
* Create a new {@link LongRange}.
* @param start zero-based start index (inclusive)
* @param end zero-based end index (inclusive)
* @return a new {@link LongRange}
*/
public static LongRange of(long start, long end) {
return new LongRange(start, end);
}
public long start() {
return start;
}
public long end() {
return end;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof LongRange)) return false;
LongRange that = (LongRange) o;
return start == that.start && end == that.end;
}
@Override
public int hashCode() {
return Objects.hash(start, end);
}
@Override
public String toString() {
return "[" + start + ", " + end + "]";
}
}