Skip to content

Commit 9d945ff

Browse files
authored
Add methods in CommandArguments and RawableFactory (#3834)
* Add direct methods in CommandArguments * Add methods for boolean and long in RawableFactory
1 parent 0691b57 commit 9d945ff

File tree

2 files changed

+54
-6
lines changed

2 files changed

+54
-6
lines changed

Diff for: src/main/java/redis/clients/jedis/CommandArguments.java

+36-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package redis.clients.jedis;
22

33
import java.util.ArrayList;
4+
import java.util.Arrays;
45
import java.util.Collection;
56
import java.util.Iterator;
67

@@ -29,19 +30,50 @@ public ProtocolCommand getCommand() {
2930
return (ProtocolCommand) args.get(0);
3031
}
3132

33+
public CommandArguments add(Rawable arg) {
34+
args.add(arg);
35+
return this;
36+
}
37+
38+
public CommandArguments add(byte[] arg) {
39+
return add(RawableFactory.from(arg));
40+
}
41+
42+
public CommandArguments add(boolean arg) {
43+
return add(RawableFactory.from(arg));
44+
}
45+
46+
public CommandArguments add(int arg) {
47+
return add(RawableFactory.from(arg));
48+
}
49+
50+
public CommandArguments add(long arg) {
51+
return add(RawableFactory.from(arg));
52+
}
53+
54+
public CommandArguments add(double arg) {
55+
return add(RawableFactory.from(arg));
56+
}
57+
58+
public CommandArguments add(String arg) {
59+
return add(RawableFactory.from(arg));
60+
}
61+
3262
public CommandArguments add(Object arg) {
3363
if (arg == null) {
3464
throw new IllegalArgumentException("null is not a valid argument.");
3565
} else if (arg instanceof Rawable) {
3666
args.add((Rawable) arg);
3767
} else if (arg instanceof byte[]) {
3868
args.add(RawableFactory.from((byte[]) arg));
69+
} else if (arg instanceof Boolean) {
70+
args.add(RawableFactory.from((Boolean) arg));
3971
} else if (arg instanceof Integer) {
4072
args.add(RawableFactory.from((Integer) arg));
73+
} else if (arg instanceof Long) {
74+
args.add(RawableFactory.from((Long) arg));
4175
} else if (arg instanceof Double) {
4276
args.add(RawableFactory.from((Double) arg));
43-
} else if (arg instanceof Boolean) {
44-
args.add(RawableFactory.from((Boolean) arg ? 1 : 0));
4577
} else if (arg instanceof float[]) {
4678
args.add(RawableFactory.from(RediSearchUtil.toByteArray((float[]) arg)));
4779
} else if (arg instanceof String) {
@@ -87,14 +119,12 @@ public CommandArguments key(Object key) {
87119
}
88120

89121
public final CommandArguments keys(Object... keys) {
90-
for (Object key : keys) {
91-
key(key);
92-
}
122+
Arrays.stream(keys).forEach(this::key);
93123
return this;
94124
}
95125

96126
public final CommandArguments keys(Collection keys) {
97-
keys.forEach(key -> key(key));
127+
keys.forEach(this::key);
98128
return this;
99129
}
100130

Diff for: src/main/java/redis/clients/jedis/args/RawableFactory.java

+18
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@
1010
*/
1111
public final class RawableFactory {
1212

13+
/**
14+
* Get a {@link Rawable} from a {@code boolean}.
15+
* @param b boolean value
16+
* @return raw
17+
*/
18+
public static Rawable from(boolean b) {
19+
return from(toByteArray(b));
20+
}
21+
1322
/**
1423
* Get a {@link Rawable} from an {@code int}.
1524
* @param i integer value
@@ -19,6 +28,15 @@ public static Rawable from(int i) {
1928
return from(toByteArray(i));
2029
}
2130

31+
/**
32+
* Get a {@link Rawable} from a {@code long}.
33+
* @param l long value
34+
* @return raw
35+
*/
36+
public static Rawable from(long l) {
37+
return from(toByteArray(l));
38+
}
39+
2240
/**
2341
* Get a {@link Rawable} from a {@code double}.
2442
* @param d numeric value

0 commit comments

Comments
 (0)