import com.fasterxml.jackson.core.type.TypeReference;
import org.asamk.signal.OutputType;
-import org.asamk.signal.OutputWriter;
-import org.asamk.signal.commands.exceptions.CommandException;
-import org.asamk.signal.manager.Manager;
import java.util.List;
return null;
}
- void handleCommand(T request, Manager m, OutputWriter outputWriter) throws CommandException;
-
default List<OutputType> getSupportedOutputTypes() {
return List.of(OutputType.JSON);
}
import java.util.List;
import java.util.Map;
-public interface JsonRpcLocalCommand extends JsonRpcCommand<Map<String, Object>>, LocalCommand {
+public interface JsonRpcLocalCommand extends JsonRpcSingleCommand<Map<String, Object>>, LocalCommand {
default TypeReference<Map<String, Object>> getRequestType() {
return new TypeReference<>() {};
--- /dev/null
+package org.asamk.signal.commands;
+
+import org.asamk.signal.OutputWriter;
+import org.asamk.signal.commands.exceptions.CommandException;
+import org.asamk.signal.manager.Manager;
+
+public interface JsonRpcSingleCommand<T> extends JsonRpcCommand<T> {
+
+ void handleCommand(T request, Manager m, OutputWriter outputWriter) throws CommandException;
+}
import org.asamk.signal.OutputWriter;
import org.asamk.signal.commands.Command;
import org.asamk.signal.commands.Commands;
-import org.asamk.signal.commands.JsonRpcCommand;
+import org.asamk.signal.commands.JsonRpcSingleCommand;
import org.asamk.signal.commands.SignalCreator;
import org.asamk.signal.commands.exceptions.CommandException;
import org.asamk.signal.commands.exceptions.IOErrorException;
) throws JsonRpcException {
var command = getCommand(method);
// TODO implement listAccounts, register, verify, link
- if (command instanceof JsonRpcCommand<?> jsonRpcCommand) {
+ if (command instanceof JsonRpcSingleCommand<?> jsonRpcCommand) {
if (m != null) {
return runCommand(objectMapper, params, new CommandRunnerImpl<>(m, jsonRpcCommand));
}
return Commands.getCommand(method);
}
- private record CommandRunnerImpl<T>(Manager m, JsonRpcCommand<T> command) implements CommandRunner<T> {
+ private record CommandRunnerImpl<T>(Manager m, JsonRpcSingleCommand<T> command) implements CommandRunner<T> {
@Override
public void handleCommand(final T request, final OutputWriter outputWriter) throws CommandException {
command.handleCommand(requestParams, outputWriter);
}
- private class SubscribeReceiveCommand implements JsonRpcCommand<Void> {
+ private class SubscribeReceiveCommand implements JsonRpcSingleCommand<Void> {
@Override
public String getName() {
}
}
- private class UnsubscribeReceiveCommand implements JsonRpcCommand<Void> {
+ private class UnsubscribeReceiveCommand implements JsonRpcSingleCommand<Void> {
@Override
public String getName() {