Skip to content

Commit aa7cfd1

Browse files
committed
KeyedListElement result parser
1 parent 296b904 commit aa7cfd1

File tree

4 files changed

+34
-2
lines changed

4 files changed

+34
-2
lines changed

driver/src/main/java/jdbc/client/helpers/result/parser/ResultParserFactory.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,18 @@ public class ResultParserFactory {
119119
};
120120

121121

122+
public static final ResultParser KEYED_STRING = new ObjectListResultParser<KeyedListElement>() {
123+
@Override
124+
protected @NotNull ListEncoder<KeyedListElement> getBuilder() {
125+
return EncoderFactory.KEYED_STRING;
126+
}
127+
128+
@Override
129+
protected @NotNull ObjectConverter<KeyedListElement> getConverter() {
130+
return ConverterFactory.KEYED_STRING;
131+
}
132+
};
133+
122134
public static final ResultParser TUPLE = new ObjectListResultParser<Tuple>() {
123135
@Override
124136
protected @NotNull ListEncoder<Tuple> getBuilder() {

driver/src/main/java/jdbc/client/helpers/result/parser/converter/ConverterFactory.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,13 @@ public abstract static class IdentityConverter<T> extends SimpleConverter<T, T>
7979
}
8080

8181

82+
public static final ObjectConverter<KeyedListElement> KEYED_STRING = new ObjectConverter<>() {
83+
@Override
84+
public ObjectType<KeyedListElement> getObjectType() {
85+
return TypeFactory.KEYED_STRING;
86+
}
87+
};
88+
8289
public static final ObjectConverter<Tuple> TUPLE = new ObjectConverter<>() {
8390
@Override
8491
public ObjectType<Tuple> getObjectType() {
@@ -89,7 +96,7 @@ public ObjectType<Tuple> getObjectType() {
8996
public static final ObjectConverter<KeyedZSetElement> KEYED_TUPLE = new ObjectConverter<>() {
9097
@Override
9198
public ObjectType<KeyedZSetElement> getObjectType() {
92-
return TypeFactory.KEYED_ZSET_ELEMENT;
99+
return TypeFactory.KEYED_TUPLE;
93100
}
94101
};
95102

driver/src/main/java/jdbc/client/helpers/result/parser/converter/type/TypeFactory.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import redis.clients.jedis.resps.*;
1111
import redis.clients.jedis.util.KeyValue;
1212

13+
import java.util.AbstractMap;
1314
import java.util.List;
1415
import java.util.Map;
1516
import java.util.function.Function;
@@ -41,12 +42,17 @@ private TypeFactory() {
4142
public static final SimpleType<Map<String, ?>> MAP = new SimpleType<>(RedisColumnTypeHelper.MAP);
4243

4344

45+
public static final ObjectType<KeyedListElement> KEYED_STRING = new ObjectType<>() {{
46+
add("key", STRING, AbstractMap.SimpleImmutableEntry::getKey);
47+
add("value", STRING, KeyedListElement::getElement);
48+
}};
49+
4450
public static final ObjectType<Tuple> TUPLE = new ObjectType<>() {{
4551
add("value", STRING, Tuple::getElement);
4652
add("score", DOUBLE, Tuple::getScore);
4753
}};
4854

49-
public static final ObjectType<KeyedZSetElement> KEYED_ZSET_ELEMENT = new ObjectType<>() {{
55+
public static final ObjectType<KeyedZSetElement> KEYED_TUPLE = new ObjectType<>() {{
5056
add("key", STRING, KeyedZSetElement::getKey);
5157
add("value", STRING, Tuple::getElement);
5258
add("score", DOUBLE, Tuple::getScore);

driver/src/main/java/jdbc/client/helpers/result/parser/encoder/EncoderFactory.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,13 @@ private EncoderFactory() {
108108
};
109109

110110

111+
public static final ListEncoder<KeyedListElement> KEYED_STRING = new ElementListEncoder<>() {
112+
@Override
113+
protected @NotNull Builder<KeyedListElement> getBuilder() {
114+
return BuilderFactory.KEYED_LIST_ELEMENT;
115+
}
116+
};
117+
111118
public static final ListEncoder<Tuple> TUPLE = new SimpleListEncoder<>() {
112119
@Override
113120
protected @NotNull Builder<List<Tuple>> getListBuilder() {

0 commit comments

Comments
 (0)