
redis.clients.jedis.resps.TrackingInfo 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.resps;
import redis.clients.jedis.Builder;
import redis.clients.jedis.util.KeyValue;
import java.util.Collections;
import java.util.List;
import static redis.clients.jedis.BuilderFactory.*;
public class TrackingInfo {
private final List flags;
private final long redirect;
private final List prefixes;
public TrackingInfo(List flags, long redirect, List prefixes) {
this.flags = flags;
this.redirect = redirect;
this.prefixes = prefixes;
}
public List getFlags() {
return flags;
}
public long getRedirect() {
return redirect;
}
public List getPrefixes() {
return prefixes;
}
public static final Builder TRACKING_INFO_BUILDER = new Builder() {
@Override
public TrackingInfo build(Object data) {
List commandData = (List) data;
if (commandData.get(0) instanceof KeyValue) {
List flags = Collections.emptyList();
long redirect = -1;
List prefixes = Collections.emptyList();
for (KeyValue kv : (List) commandData) {
switch (STRING.build(kv.getKey())) {
case "flags":
flags = STRING_LIST.build(kv.getValue());
break;
case "redirect":
redirect = LONG.build(kv.getValue());
break;
case "prefixes":
prefixes = STRING_LIST.build(kv.getValue());
break;
}
}
return new TrackingInfo(flags, redirect, prefixes);
} else {
List flags = STRING_LIST.build(commandData.get(1));
long redirect = LONG.build(commandData.get(3));
List prefixes = STRING_LIST.build(commandData.get(5));
return new TrackingInfo(flags, redirect, prefixes);
}
}
};
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy