1 package org
.asamk
.signal
.commands
;
3 import com
.fasterxml
.jackson
.core
.type
.TypeReference
;
5 import net
.sourceforge
.argparse4j
.inf
.Namespace
;
7 import org
.asamk
.signal
.OutputType
;
8 import org
.asamk
.signal
.commands
.exceptions
.CommandException
;
9 import org
.asamk
.signal
.manager
.Manager
;
10 import org
.asamk
.signal
.output
.JsonWriter
;
12 import java
.util
.List
;
15 public interface JsonRpcLocalCommand
extends JsonRpcSingleCommand
<Map
<String
, Object
>>, LocalCommand
{
17 default TypeReference
<Map
<String
, Object
>> getRequestType() {
18 return new TypeReference
<>() {};
21 default void handleCommand(Map
<String
, Object
> request
, Manager m
, JsonWriter jsonWriter
) throws CommandException
{
22 Namespace commandNamespace
= new JsonRpcNamespace(request
== null ? Map
.of() : request
);
23 handleCommand(commandNamespace
, m
, jsonWriter
);
26 default List
<OutputType
> getSupportedOutputTypes() {
27 return List
.of(OutputType
.PLAIN_TEXT
, OutputType
.JSON
);