]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/api/Group.java
4787ef950fb98c856bf7b718b904ebbb93adf25c
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / api / Group.java
1 package org.asamk.signal.manager.api;
2
3 import org.asamk.signal.manager.groups.GroupId;
4 import org.asamk.signal.manager.groups.GroupInviteLinkUrl;
5 import org.asamk.signal.manager.groups.GroupPermission;
6 import org.asamk.signal.manager.storage.recipients.RecipientAddress;
7
8 import java.util.Set;
9
10 public class Group {
11
12 private final GroupId groupId;
13 private final String title;
14 private final String description;
15 private final GroupInviteLinkUrl groupInviteLinkUrl;
16 private final Set<RecipientAddress> members;
17 private final Set<RecipientAddress> pendingMembers;
18 private final Set<RecipientAddress> requestingMembers;
19 private final Set<RecipientAddress> adminMembers;
20 private final boolean isBlocked;
21 private final int messageExpirationTimer;
22
23 private final GroupPermission permissionAddMember;
24 private final GroupPermission permissionEditDetails;
25 private final GroupPermission permissionSendMessage;
26 private final boolean isMember;
27 private final boolean isAdmin;
28
29 public Group(
30 final GroupId groupId,
31 final String title,
32 final String description,
33 final GroupInviteLinkUrl groupInviteLinkUrl,
34 final Set<RecipientAddress> members,
35 final Set<RecipientAddress> pendingMembers,
36 final Set<RecipientAddress> requestingMembers,
37 final Set<RecipientAddress> adminMembers,
38 final boolean isBlocked,
39 final int messageExpirationTimer,
40 final GroupPermission permissionAddMember,
41 final GroupPermission permissionEditDetails,
42 final GroupPermission permissionSendMessage,
43 final boolean isMember,
44 final boolean isAdmin
45 ) {
46 this.groupId = groupId;
47 this.title = title;
48 this.description = description;
49 this.groupInviteLinkUrl = groupInviteLinkUrl;
50 this.members = members;
51 this.pendingMembers = pendingMembers;
52 this.requestingMembers = requestingMembers;
53 this.adminMembers = adminMembers;
54 this.isBlocked = isBlocked;
55 this.messageExpirationTimer = messageExpirationTimer;
56 this.permissionAddMember = permissionAddMember;
57 this.permissionEditDetails = permissionEditDetails;
58 this.permissionSendMessage = permissionSendMessage;
59 this.isMember = isMember;
60 this.isAdmin = isAdmin;
61 }
62
63 public GroupId getGroupId() {
64 return groupId;
65 }
66
67 public String getTitle() {
68 return title;
69 }
70
71 public String getDescription() {
72 return description;
73 }
74
75 public GroupInviteLinkUrl getGroupInviteLinkUrl() {
76 return groupInviteLinkUrl;
77 }
78
79 public Set<RecipientAddress> getMembers() {
80 return members;
81 }
82
83 public Set<RecipientAddress> getPendingMembers() {
84 return pendingMembers;
85 }
86
87 public Set<RecipientAddress> getRequestingMembers() {
88 return requestingMembers;
89 }
90
91 public Set<RecipientAddress> getAdminMembers() {
92 return adminMembers;
93 }
94
95 public boolean isBlocked() {
96 return isBlocked;
97 }
98
99 public int getMessageExpirationTimer() {
100 return messageExpirationTimer;
101 }
102
103 public GroupPermission getPermissionAddMember() {
104 return permissionAddMember;
105 }
106
107 public GroupPermission getPermissionEditDetails() {
108 return permissionEditDetails;
109 }
110
111 public GroupPermission getPermissionSendMessage() {
112 return permissionSendMessage;
113 }
114
115 public boolean isMember() {
116 return isMember;
117 }
118
119 public boolean isAdmin() {
120 return isAdmin;
121 }
122 }