]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/commands/ListDevicesCommand.java
Use pattern matching switch cases
[signal-cli] / src / main / java / org / asamk / signal / commands / ListDevicesCommand.java
index 7920243e3c9113990b787c16188b79bce9f0a9e0..7adc8611cef3030a346d527072c02439af2fb021 100644 (file)
@@ -42,21 +42,23 @@ public class ListDevicesCommand implements JsonRpcLocalCommand {
             throw new IOErrorException("Failed to get linked devices: " + e.getMessage(), e);
         }
 
-        if (outputWriter instanceof PlainTextWriter writer) {
-            for (var d : devices) {
-                writer.println("- Device {}{}:", d.id(), (d.isThisDevice() ? " (this device)" : ""));
-                writer.indent(w -> {
-                    w.println("Name: {}", d.name());
-                    w.println("Created: {}", DateUtils.formatTimestamp(d.created()));
-                    w.println("Last seen: {}", DateUtils.formatTimestamp(d.lastSeen()));
-                });
+        switch (outputWriter) {
+            case PlainTextWriter writer -> {
+                for (var d : devices) {
+                    writer.println("- Device {}{}:", d.id(), (d.isThisDevice() ? " (this device)" : ""));
+                    writer.indent(w -> {
+                        w.println("Name: {}", d.name());
+                        w.println("Created: {}", DateUtils.formatTimestamp(d.created()));
+                        w.println("Last seen: {}", DateUtils.formatTimestamp(d.lastSeen()));
+                    });
+                }
+            }
+            case JsonWriter writer -> {
+                final var jsonDevices = devices.stream()
+                        .map(d -> new JsonDevice(d.id(), d.name(), d.created(), d.lastSeen()))
+                        .toList();
+                writer.write(jsonDevices);
             }
-        } else {
-            final var writer = (JsonWriter) outputWriter;
-            final var jsonDevices = devices.stream()
-                    .map(d -> new JsonDevice(d.id(), d.name(), d.created(), d.lastSeen()))
-                    .toList();
-            writer.write(jsonDevices);
         }
     }