]>
nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfo.java
b4f4e63a6cba5fd9a3522667bae29c655f281131
1 package org
.asamk
.signal
.manager
.storage
.groups
;
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
.RecipientId
;
9 import java
.util
.stream
.Collectors
;
10 import java
.util
.stream
.Stream
;
12 public abstract class GroupInfo
{
14 public abstract GroupId
getGroupId();
16 public abstract String
getTitle();
18 public String
getDescription() {
22 public abstract GroupInviteLinkUrl
getGroupInviteLink();
24 public abstract Set
<RecipientId
> getMembers();
26 public Set
<RecipientId
> getPendingMembers() {
30 public Set
<RecipientId
> getRequestingMembers() {
34 public Set
<RecipientId
> getAdminMembers() {
38 public abstract boolean isBlocked();
40 public abstract void setBlocked(boolean blocked
);
42 public abstract int getMessageExpirationTimer();
44 public abstract boolean isAnnouncementGroup();
46 public abstract GroupPermission
getPermissionAddMember();
48 public abstract GroupPermission
getPermissionEditDetails();
50 public abstract GroupPermission
getPermissionSendMessage();
52 public Set
<RecipientId
> getMembersWithout(RecipientId recipientId
) {
53 return getMembers().stream().filter(member
-> !member
.equals(recipientId
)).collect(Collectors
.toSet());
56 public Set
<RecipientId
> getMembersIncludingPendingWithout(RecipientId recipientId
) {
57 return Stream
.concat(getMembers().stream(), getPendingMembers().stream())
58 .filter(member
-> !member
.equals(recipientId
))
59 .collect(Collectors
.toSet());
62 public boolean isMember(RecipientId recipientId
) {
63 return getMembers().contains(recipientId
);
66 public boolean isAdmin(RecipientId recipientId
) {
67 return getAdminMembers().contains(recipientId
);
70 public boolean isPendingMember(RecipientId recipientId
) {
71 return getPendingMembers().contains(recipientId
);