package com.fr.plugin.db.redis.core.visit.impl; import com.fr.plugin.db.redis.core.visit.AbstractVisitor; import com.fr.stable.ParameterProvider; import com.fr.stable.script.CalculatorProvider; import redis.clients.jedis.Jedis; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * Created by richie on 2017/5/2. */ public class HashVisitor extends AbstractVisitor { @Override public List> getContent(CalculatorProvider calculator, ParameterProvider[] ps, Jedis client, String query, int rowCount) throws Exception { String[] arr = query.trim().split(TOKEN_SPACE); if (arr.length < 2) { throw new IllegalArgumentException("Illegal query:" + query); } Map map = client.hgetAll(trimCommand(arr[1])); List column1 = new ArrayList(); List column2 = new ArrayList(); for (Map.Entry entry : map.entrySet()) { column1.add(entry.getKey()); column2.add(entry.getValue()); } List> result = new ArrayList>(); result.add(column1); result.add(column2); return result; } @Override public String keyWord() { return "hgetall"; } }