package redis.clients.jedis; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; import redis.clients.jedis.BinaryClient.LIST_POSITION; public class BinaryTransaction extends Queable { protected Client client = null; protected boolean inTransaction = true; public BinaryTransaction() { } public BinaryTransaction(final Client client) { this.client = client; } public List exec() { client.exec(); client.getAll(1); // Discard all but the last reply List unformatted = client.getObjectMultiBulkReply(); if (unformatted == null) { return null; } List formatted = new ArrayList(); for (Object o : unformatted) { formatted.add(generateResponse(o).get()); } return formatted; } public String discard() { client.discard(); client.getAll(1); // Discard all but the last reply inTransaction = false; clean(); return client.getStatusCodeReply(); } public Response append(byte[] key, byte[] value) { client.append(key, value); return getResponse(BuilderFactory.LONG); } public Response> blpop(byte[]... args) { client.blpop(args); return getResponse(BuilderFactory.STRING_LIST); } public Response> brpop(byte[]... args) { client.brpop(args); return getResponse(BuilderFactory.STRING_LIST); } public Response decr(byte[] key) { client.decr(key); return getResponse(BuilderFactory.LONG); } public Response decrBy(byte[] key, long integer) { client.decrBy(key, integer); return getResponse(BuilderFactory.LONG); } public Response del(byte[]... keys) { client.del(keys); return getResponse(BuilderFactory.LONG); } public Response echo(byte[] string) { client.echo(string); return getResponse(BuilderFactory.STRING); } public Response exists(byte[] key) { client.exists(key); return getResponse(BuilderFactory.BOOLEAN); } public Response expire(byte[] key, int seconds) { client.expire(key, seconds); return getResponse(BuilderFactory.LONG); } public Response expireAt(byte[] key, long unixTime) { client.expireAt(key, unixTime); return getResponse(BuilderFactory.LONG); } public Response get(byte[] key) { client.get(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response getSet(byte[] key, byte[] value) { client.getSet(key, value); return getResponse(BuilderFactory.STRING); } public Response hdel(byte[] key, byte[] field) { client.hdel(key, field); return getResponse(BuilderFactory.LONG); } public Response hexists(byte[] key, byte[] field) { client.hexists(key, field); return getResponse(BuilderFactory.BOOLEAN); } public Response hget(byte[] key, byte[] field) { client.hget(key, field); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response> hgetAll(byte[] key) { client.hgetAll(key); return getResponse(BuilderFactory.STRING_MAP); } public Response hincrBy(byte[] key, byte[] field, long value) { client.hincrBy(key, field, value); return getResponse(BuilderFactory.LONG); } public Response> hkeys(byte[] key) { client.hkeys(key); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response hlen(byte[] key) { client.hlen(key); return getResponse(BuilderFactory.LONG); } public Response> hmget(byte[] key, byte[]... fields) { client.hmget(key, fields); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response hmset(byte[] key, Map hash) { client.hmset(key, hash); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response hset(byte[] key, byte[] field, byte[] value) { client.hset(key, field, value); return getResponse(BuilderFactory.LONG); } public Response hsetnx(byte[] key, byte[] field, byte[] value) { client.hsetnx(key, field, value); return getResponse(BuilderFactory.LONG); } public Response> hvals(byte[] key) { client.hvals(key); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response incr(byte[] key) { client.incr(key); return getResponse(BuilderFactory.LONG); } public Response incrBy(byte[] key, long integer) { client.incrBy(key, integer); return getResponse(BuilderFactory.LONG); } public Response> keys(byte[] pattern) { client.keys(pattern); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response lindex(byte[] key, long index) { client.lindex(key, index); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response linsert(byte[] key, LIST_POSITION where, byte[] pivot, byte[] value) { client.linsert(key, where, pivot, value); return getResponse(BuilderFactory.LONG); } public Response llen(byte[] key) { client.llen(key); return getResponse(BuilderFactory.LONG); } public Response lpop(byte[] key) { client.lpop(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response lpush(byte[] key, byte[] string) { client.lpush(key, string); return getResponse(BuilderFactory.LONG); } public Response lpushx(byte[] key, byte[] bytes) { client.lpushx(key, bytes); return getResponse(BuilderFactory.LONG); } public Response> lrange(byte[] key, long start, long end) { client.lrange(key, start, end); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response lrem(byte[] key, long count, byte[] value) { client.lrem(key, count, value); return getResponse(BuilderFactory.LONG); } public Response lset(byte[] key, long index, byte[] value) { client.lset(key, index, value); return getResponse(BuilderFactory.STRING); } public Response ltrim(byte[] key, long start, long end) { client.ltrim(key, start, end); return getResponse(BuilderFactory.STRING); } public Response> mget(byte[]... keys) { client.mget(keys); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response move(byte[] key, int dbIndex) { client.move(key, dbIndex); return getResponse(BuilderFactory.LONG); } public Response mset(byte[]... keysvalues) { client.mset(keysvalues); return getResponse(BuilderFactory.STRING); } public Response msetnx(byte[]... keysvalues) { client.msetnx(keysvalues); return getResponse(BuilderFactory.LONG); } public Response persist(byte[] key) { client.persist(key); return getResponse(BuilderFactory.LONG); } public Response rename(byte[] oldkey, byte[] newkey) { client.rename(oldkey, newkey); return getResponse(BuilderFactory.STRING); } public Response renamenx(byte[] oldkey, byte[] newkey) { client.renamenx(oldkey, newkey); return getResponse(BuilderFactory.LONG); } public Response rpop(byte[] key) { client.rpop(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response rpoplpush(byte[] srckey, byte[] dstkey) { client.rpoplpush(srckey, dstkey); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response rpush(byte[] key, byte[] string) { client.rpush(key, string); return getResponse(BuilderFactory.LONG); } public Response rpushx(byte[] key, byte[] string) { client.rpushx(key, string); return getResponse(BuilderFactory.LONG); } public Response sadd(byte[] key, byte[] member) { client.sadd(key, member); return getResponse(BuilderFactory.LONG); } public Response scard(byte[] key) { client.scard(key); return getResponse(BuilderFactory.LONG); } public Response> sdiff(byte[]... keys) { client.sdiff(keys); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response sdiffstore(byte[] dstkey, byte[]... keys) { client.sdiffstore(dstkey, keys); return getResponse(BuilderFactory.LONG); } public Response set(byte[] key, byte[] value) { client.set(key, value); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response setbit(String key, long offset, boolean value) { client.setbit(key, offset, value); return getResponse(BuilderFactory.BOOLEAN); } public Response setex(byte[] key, int seconds, byte[] value) { client.setex(key, seconds, value); return getResponse(BuilderFactory.STRING); } public Response setnx(byte[] key, byte[] value) { client.setnx(key, value); return getResponse(BuilderFactory.LONG); } public Response> sinter(byte[]... keys) { client.sinter(keys); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response sinterstore(byte[] dstkey, byte[]... keys) { client.sinterstore(dstkey, keys); return getResponse(BuilderFactory.LONG); } public Response sismember(byte[] key, byte[] member) { client.sismember(key, member); return getResponse(BuilderFactory.BOOLEAN); } public Response> smembers(byte[] key) { client.smembers(key); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response smove(byte[] srckey, byte[] dstkey, byte[] member) { client.smove(srckey, dstkey, member); return getResponse(BuilderFactory.LONG); } public Response> sort(byte[] key) { client.sort(key); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response> sort(byte[] key, SortingParams sortingParameters) { client.sort(key, sortingParameters); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response> sort(byte[] key, SortingParams sortingParameters, byte[] dstkey) { client.sort(key, sortingParameters, dstkey); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response> sort(byte[] key, byte[] dstkey) { client.sort(key, dstkey); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response spop(byte[] key) { client.spop(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response srandmember(byte[] key) { client.srandmember(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response srem(byte[] key, byte[] member) { client.srem(key, member); return getResponse(BuilderFactory.LONG); } public Response strlen(byte[] key) { client.strlen(key); return getResponse(BuilderFactory.LONG); } public Response substr(byte[] key, int start, int end) { // what's // that? client.substr(key, start, end); return getResponse(BuilderFactory.STRING); } public Response> sunion(byte[]... keys) { client.sunion(keys); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response sunionstore(byte[] dstkey, byte[]... keys) { client.sunionstore(dstkey, keys); return getResponse(BuilderFactory.LONG); } public Response ttl(byte[] key) { client.ttl(key); return getResponse(BuilderFactory.LONG); } public Response type(byte[] key) { client.type(key); return getResponse(BuilderFactory.STRING); } public Response zadd(byte[] key, double score, byte[] member) { client.zadd(key, score, member); return getResponse(BuilderFactory.LONG); } public Response zcard(byte[] key) { client.zcard(key); return getResponse(BuilderFactory.LONG); } public Response zcount(byte[] key, double min, double max) { client.zcount(key, min, max); return getResponse(BuilderFactory.LONG); } public Response zincrby(byte[] key, double score, byte[] member) { client.zincrby(key, score, member); return getResponse(BuilderFactory.DOUBLE); } public Response zinterstore(byte[] dstkey, byte[]... sets) { client.zinterstore(dstkey, sets); return getResponse(BuilderFactory.LONG); } public Response zinterstore(byte[] dstkey, ZParams params, byte[]... sets) { client.zinterstore(dstkey, params, sets); return getResponse(BuilderFactory.LONG); } public Response> zrange(byte[] key, int start, int end) { client.zrange(key, start, end); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrangeByScore(byte[] key, double min, double max) { client.zrangeByScore(key, min, max); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrangeByScore(byte[] key, byte[] min, byte[] max) { client.zrangeByScore(key, min, max); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrangeByScore(byte[] key, double min, double max, int offset, int count) { client.zrangeByScore(key, min, max, offset, count); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrangeByScoreWithScores(byte[] key, double min, double max) { client.zrangeByScoreWithScores(key, min, max); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrangeByScoreWithScores(byte[] key, double min, double max, int offset, int count) { client.zrangeByScoreWithScores(key, min, max, offset, count); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrangeWithScores(byte[] key, int start, int end) { client.zrangeWithScores(key, start, end); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response zrank(byte[] key, byte[] member) { client.zrank(key, member); return getResponse(BuilderFactory.LONG); } public Response zrem(byte[] key, byte[] member) { client.zrem(key, member); return getResponse(BuilderFactory.LONG); } public Response zremrangeByRank(byte[] key, int start, int end) { client.zremrangeByRank(key, start, end); return getResponse(BuilderFactory.LONG); } public Response zremrangeByScore(byte[] key, double start, double end) { client.zremrangeByScore(key, start, end); return getResponse(BuilderFactory.LONG); } public Response> zrevrange(byte[] key, int start, int end) { client.zrevrange(key, start, end); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrevrangeWithScores(byte[] key, int start, int end) { client.zrevrangeWithScores(key, start, end); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response zrevrank(byte[] key, byte[] member) { client.zrevrank(key, member); return getResponse(BuilderFactory.LONG); } public Response zscore(byte[] key, byte[] member) { client.zscore(key, member); return getResponse(BuilderFactory.DOUBLE); } public Response zunionstore(byte[] dstkey, byte[]... sets) { client.zunionstore(dstkey, sets); return getResponse(BuilderFactory.LONG); } public Response zunionstore(byte[] dstkey, ZParams params, byte[]... sets) { client.zunionstore(dstkey, params, sets); return getResponse(BuilderFactory.LONG); } public Response brpoplpush(byte[] source, byte[] destination, int timeout) { client.brpoplpush(source, destination, timeout); return getResponse(BuilderFactory.BYTE_ARRAY); } }