package project.redis.clients.jedis; import redis.clients.jedis.Builder; import redis.clients.jedis.exceptions.JedisDataException; public class Response { protected T response = null; private boolean built = false; private boolean set = false; private Builder builder; private Object data; public Response(Builder b) { this.builder = b; } public void set(Object data) { this.data = data; set = true; } public T get() { if (!set) { throw new JedisDataException( "Please close pipeline or multi block before calling this method."); } if (!built) { // 数据为空是直接返回null,避免 builder.build(data)产生空指针异常 if(data == null) { return null; } response = builder.build(data); this.data = null; built = true; } return response; } public String toString() { return "Response " + builder.toString(); } }