]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/commands/ListGroupsCommand.java
Use record classes
[signal-cli] / src / main / java / org / asamk / signal / commands / ListGroupsCommand.java
index 3321c34bf1ae7737e0d8c64a758d1bbc7f7b75c3..ef5fd452e6c41a95b47c336e83e9792ac26a4dde 100644 (file)
@@ -50,25 +50,25 @@ public class ListGroupsCommand implements JsonRpcLocalCommand {
             PlainTextWriter writer, Group group, boolean detailed
     ) {
         if (detailed) {
-            final var groupInviteLink = group.getGroupInviteLinkUrl();
+            final var groupInviteLink = group.groupInviteLinkUrl();
 
             writer.println(
                     "Id: {} Name: {} Description: {} Active: {} Blocked: {} Members: {} Pending members: {} Requesting members: {} Admins: {} Message expiration: {} Link: {}",
-                    group.getGroupId().toBase64(),
-                    group.getTitle(),
-                    group.getDescription(),
+                    group.groupId().toBase64(),
+                    group.title(),
+                    group.description(),
                     group.isMember(),
                     group.isBlocked(),
-                    resolveMembers(group.getMembers()),
-                    resolveMembers(group.getPendingMembers()),
-                    resolveMembers(group.getRequestingMembers()),
-                    resolveMembers(group.getAdminMembers()),
-                    group.getMessageExpirationTimer() == 0 ? "disabled" : group.getMessageExpirationTimer() + "s",
+                    resolveMembers(group.members()),
+                    resolveMembers(group.pendingMembers()),
+                    resolveMembers(group.requestingMembers()),
+                    resolveMembers(group.adminMembers()),
+                    group.messageExpirationTimer() == 0 ? "disabled" : group.messageExpirationTimer() + "s",
                     groupInviteLink == null ? '-' : groupInviteLink.getUrl());
         } else {
             writer.println("Id: {} Name: {}  Active: {} Blocked: {}",
-                    group.getGroupId().toBase64(),
-                    group.getTitle(),
+                    group.groupId().toBase64(),
+                    group.title(),
                     group.isMember(),
                     group.isBlocked());
         }
@@ -83,21 +83,21 @@ public class ListGroupsCommand implements JsonRpcLocalCommand {
         if (outputWriter instanceof JsonWriter jsonWriter) {
 
             var jsonGroups = groups.stream().map(group -> {
-                final var groupInviteLink = group.getGroupInviteLinkUrl();
+                final var groupInviteLink = group.groupInviteLinkUrl();
 
-                return new JsonGroup(group.getGroupId().toBase64(),
-                        group.getTitle(),
-                        group.getDescription(),
+                return new JsonGroup(group.groupId().toBase64(),
+                        group.title(),
+                        group.description(),
                         group.isMember(),
                         group.isBlocked(),
-                        group.getMessageExpirationTimer(),
-                        resolveJsonMembers(group.getMembers()),
-                        resolveJsonMembers(group.getPendingMembers()),
-                        resolveJsonMembers(group.getRequestingMembers()),
-                        resolveJsonMembers(group.getAdminMembers()),
-                        group.getPermissionAddMember().name(),
-                        group.getPermissionEditDetails().name(),
-                        group.getPermissionSendMessage().name(),
+                        group.messageExpirationTimer(),
+                        resolveJsonMembers(group.members()),
+                        resolveJsonMembers(group.pendingMembers()),
+                        resolveJsonMembers(group.requestingMembers()),
+                        resolveJsonMembers(group.adminMembers()),
+                        group.permissionAddMember().name(),
+                        group.permissionEditDetails().name(),
+                        group.permissionSendMessage().name(),
                         groupInviteLink == null ? null : groupInviteLink.getUrl());
             }).collect(Collectors.toList());
 
@@ -111,66 +111,22 @@ public class ListGroupsCommand implements JsonRpcLocalCommand {
         }
     }
 
-    private static final class JsonGroup {
-
-        public final String id;
-        public final String name;
-        public final String description;
-        public final boolean isMember;
-        public final boolean isBlocked;
-        public final int messageExpirationTime;
-
-        public final Set<JsonGroupMember> members;
-        public final Set<JsonGroupMember> pendingMembers;
-        public final Set<JsonGroupMember> requestingMembers;
-        public final Set<JsonGroupMember> admins;
-        public final String permissionAddMember;
-        public final String permissionEditDetails;
-        public final String permissionSendMessage;
-        public final String groupInviteLink;
-
-        public JsonGroup(
-                String id,
-                String name,
-                String description,
-                boolean isMember,
-                boolean isBlocked,
-                final int messageExpirationTime,
-                Set<JsonGroupMember> members,
-                Set<JsonGroupMember> pendingMembers,
-                Set<JsonGroupMember> requestingMembers,
-                Set<JsonGroupMember> admins,
-                final String permissionAddMember,
-                final String permissionEditDetails,
-                final String permissionSendMessage,
-                String groupInviteLink
-        ) {
-            this.id = id;
-            this.name = name;
-            this.description = description;
-            this.isMember = isMember;
-            this.isBlocked = isBlocked;
-            this.messageExpirationTime = messageExpirationTime;
-
-            this.members = members;
-            this.pendingMembers = pendingMembers;
-            this.requestingMembers = requestingMembers;
-            this.admins = admins;
-            this.permissionAddMember = permissionAddMember;
-            this.permissionEditDetails = permissionEditDetails;
-            this.permissionSendMessage = permissionSendMessage;
-            this.groupInviteLink = groupInviteLink;
-        }
-    }
-
-    private static final class JsonGroupMember {
-
-        public final String number;
-        public final String uuid;
-
-        private JsonGroupMember(final String number, final String uuid) {
-            this.number = number;
-            this.uuid = uuid;
-        }
-    }
+    private record JsonGroup(
+            String id,
+            String name,
+            String description,
+            boolean isMember,
+            boolean isBlocked,
+            int messageExpirationTime,
+            Set<JsonGroupMember> members,
+            Set<JsonGroupMember> pendingMembers,
+            Set<JsonGroupMember> requestingMembers,
+            Set<JsonGroupMember> admins,
+            String permissionAddMember,
+            String permissionEditDetails,
+            String permissionSendMessage,
+            String groupInviteLink
+    ) {}
+
+    private record JsonGroupMember(String number, String uuid) {}
 }