]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/commands/ListIdentitiesCommand.java
Use pattern matching switch cases
[signal-cli] / src / main / java / org / asamk / signal / commands / ListIdentitiesCommand.java
index 45326fbc5de0b16a314433f2d169e413e1116b89..53d508d8272b6073b988659fcd7fe3166d6cf6a3 100644 (file)
@@ -57,28 +57,29 @@ public class ListIdentitiesCommand implements JsonRpcLocalCommand {
             identities = m.getIdentities(CommandUtil.getSingleRecipientIdentifier(number, m.getSelfNumber()));
         }
 
-        if (outputWriter instanceof PlainTextWriter writer) {
-            for (var id : identities) {
-                printIdentityFingerprint(writer, id);
+        switch (outputWriter) {
+            case PlainTextWriter writer -> {
+                for (var id : identities) {
+                    printIdentityFingerprint(writer, id);
+                }
+            }
+            case JsonWriter writer -> {
+                final var jsonIdentities = identities.stream().map(id -> {
+                    final var address = id.recipient();
+                    var safetyNumber = Util.formatSafetyNumber(id.safetyNumber());
+                    var scannableSafetyNumber = id.scannableSafetyNumber();
+                    return new JsonIdentity(address.number().orElse(null),
+                            address.uuid().map(UUID::toString).orElse(null),
+                            Hex.toString(id.getFingerprint()),
+                            safetyNumber,
+                            scannableSafetyNumber == null
+                                    ? null
+                                    : Base64.getEncoder().encodeToString(scannableSafetyNumber),
+                            id.trustLevel().name(),
+                            id.dateAddedTimestamp());
+                }).toList();
+                writer.write(jsonIdentities);
             }
-        } else {
-            final var writer = (JsonWriter) outputWriter;
-            final var jsonIdentities = identities.stream().map(id -> {
-                final var address = id.recipient();
-                var safetyNumber = Util.formatSafetyNumber(id.safetyNumber());
-                var scannableSafetyNumber = id.scannableSafetyNumber();
-                return new JsonIdentity(address.number().orElse(null),
-                        address.uuid().map(UUID::toString).orElse(null),
-                        Hex.toString(id.getFingerprint()),
-                        safetyNumber,
-                        scannableSafetyNumber == null
-                                ? null
-                                : Base64.getEncoder().encodeToString(scannableSafetyNumber),
-                        id.trustLevel().name(),
-                        id.dateAddedTimestamp());
-            }).toList();
-
-            writer.write(jsonIdentities);
         }
     }