package org.n3r.eql.impl; import com.google.common.collect.Maps; import lombok.Getter; import org.n3r.eql.map.EqlRowMapper; import org.n3r.eql.util.Pair; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Map; public class DecodeMapper implements EqlRowMapper { final Map<String, Pair<String, String>> def = Maps.newHashMap(); @Getter Map<String, String> map = Maps.newHashMap(); public DecodeMapper(String... defs) { for (int i = 0; i + 3 <= defs.length; i += 3) { def.put(defs[i], Pair.of(defs[i + 1], defs[i + 2])); } } @Override public Object mapRow(ResultSet rs, int rowNum, boolean isSingleColumn) throws SQLException { String code = rs.getString(1); String value = rs.getString(2); Pair<String, String> pair = def.get(code); map.put(pair._1, code); map.put(pair._2, value); return null; } }