]>
nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/commands/JsonRpcNamespace.java
1 package org
.asamk
.signal
.commands
;
3 import net
.sourceforge
.argparse4j
.inf
.Namespace
;
5 import org
.asamk
.signal
.util
.Util
;
11 * Namespace implementation, that has plural handling for list arguments and converts camel case keys to dashed strings
13 final class JsonRpcNamespace
extends Namespace
{
15 public JsonRpcNamespace(final Map
<String
, Object
> attrs
) {
20 public <T
> T
get(String dest
) {
21 final T value
= super.get(dest
);
26 final var camelCaseString
= Util
.dashSeparatedToCamelCaseString(dest
);
27 return super.get(camelCaseString
);
31 public <E
> List
<E
> getList(final String dest
) {
33 final List
<E
> value
= super.getList(dest
);
37 } catch (ClassCastException e
) {
38 return List
.of(this.<E
>get(dest
));
41 return super.getList(dest
+ "s");