ModuleLoadExParams.java
package redis.clients.jedis.params;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import redis.clients.jedis.CommandArguments;
import redis.clients.jedis.Protocol.Keyword;
import redis.clients.jedis.util.KeyValue;
public class ModuleLoadExParams implements IParams {
private final List<KeyValue<String, String>> configs = new ArrayList<>();
private final List<String> args = new ArrayList<>();
public ModuleLoadExParams() {
}
public ModuleLoadExParams moduleLoadexParams() {
return new ModuleLoadExParams();
}
public ModuleLoadExParams config(String name, String value) {
this.configs.add(KeyValue.of(name, value));
return this;
}
public ModuleLoadExParams arg(String arg) {
this.args.add(arg);
return this;
}
@Override
public void addParams(CommandArguments args) {
this.configs.forEach(kv -> args.add(Keyword.CONFIG).add(kv.getKey()).add(kv.getValue()));
if (!this.args.isEmpty()) {
args.add(Keyword.ARGS).addObjects(this.args);
}
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ModuleLoadExParams that = (ModuleLoadExParams) o;
return Objects.equals(configs, that.configs) && Objects.equals(args, that.args);
}
@Override
public int hashCode() {
return Objects.hash(configs, args);
}
}