SDiffCardParams.java
package redis.clients.jedis.params;
import java.util.Objects;
import redis.clients.jedis.CommandArguments;
import redis.clients.jedis.Protocol.Keyword;
/**
* Parameters for the {@code SDIFFCARD} command.
* <p>
* Usage examples:
*
* <pre>
* new SDiffCardParams().limit(100)
* SDiffCardParams.sDiffCardParams().limit(1)
* </pre>
*
* @since 8.0
*/
public class SDiffCardParams implements IParams {
private Long limit;
public static SDiffCardParams sDiffCardParams() {
return new SDiffCardParams();
}
/**
* Cap the returned cardinality at {@code limit}. {@code LIMIT 0} means no limit.
* @param limit non-negative cap
* @return SDiffCardParams
*/
public SDiffCardParams limit(long limit) {
if (limit < 0) {
throw new IllegalArgumentException("LIMIT must be non-negative");
}
this.limit = limit;
return this;
}
@Override
public void addParams(CommandArguments args) {
if (limit != null) {
args.add(Keyword.LIMIT);
args.add(limit);
}
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof SDiffCardParams)) return false;
SDiffCardParams that = (SDiffCardParams) o;
return Objects.equals(limit, that.limit);
}
@Override
public int hashCode() {
return Objects.hash(limit);
}
}