1 package org
.asamk
.signal
.commands
;
3 import com
.fasterxml
.jackson
.core
.type
.TypeReference
;
5 import org
.asamk
.signal
.OutputType
;
6 import org
.asamk
.signal
.OutputWriter
;
7 import org
.asamk
.signal
.commands
.exceptions
.CommandException
;
8 import org
.asamk
.signal
.manager
.Manager
;
10 import java
.util
.List
;
12 public interface JsonRpcCommand
<T
> extends Command
{
14 default TypeReference
<T
> getRequestType() {
18 void handleCommand(T request
, Manager m
, OutputWriter outputWriter
) throws CommandException
;
20 default List
<OutputType
> getSupportedOutputTypes() {
21 return List
.of(OutputType
.JSON
);