redis.clients.jedis.params.XTrimParams Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jedis Show documentation
Show all versions of jedis Show documentation
Jedis is a blazingly small and sane Redis java client.
package redis.clients.jedis.params;
import static redis.clients.jedis.Protocol.Keyword.LIMIT;
import static redis.clients.jedis.Protocol.Keyword.MAXLEN;
import static redis.clients.jedis.Protocol.Keyword.MINID;
import redis.clients.jedis.CommandArguments;
import redis.clients.jedis.Protocol;
import redis.clients.jedis.util.SafeEncoder;
public class XTrimParams implements IParams {
private Long maxLen;
private boolean approximateTrimming;
private boolean exactTrimming;
private String minId;
private Long limit;
public static XTrimParams xTrimParams() {
return new XTrimParams();
}
public XTrimParams maxLen(long maxLen) {
this.maxLen = maxLen;
return this;
}
public XTrimParams minId(String minId) {
this.minId = minId;
return this;
}
public XTrimParams approximateTrimming() {
this.approximateTrimming = true;
return this;
}
public XTrimParams exactTrimming() {
this.exactTrimming = true;
return this;
}
public XTrimParams limit(long limit) {
this.limit = limit;
return this;
}
@Override
public void addParams(CommandArguments args) {
if (maxLen != null) {
args.add(MAXLEN.getRaw());
if (approximateTrimming) {
args.add(Protocol.BYTES_TILDE);
} else if (exactTrimming) {
args.add(Protocol.BYTES_EQUAL);
}
args.add(Protocol.toByteArray(maxLen));
} else if (minId != null) {
args.add(MINID.getRaw());
if (approximateTrimming) {
args.add(Protocol.BYTES_TILDE);
} else if (exactTrimming) {
args.add(Protocol.BYTES_EQUAL);
}
args.add(SafeEncoder.encode(minId));
}
if (limit != null) {
args.add(LIMIT.getRaw());
args.add(Protocol.toByteArray(limit));
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy