]>
nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/groups/GroupInfo.java
211e0f96b7b2d2afea44994c82674c682ef29921
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
.storage
.recipients
.RecipientId
;
8 import java
.util
.stream
.Collectors
;
9 import java
.util
.stream
.Stream
;
11 public abstract class GroupInfo
{
13 public abstract GroupId
getGroupId();
15 public abstract String
getTitle();
17 public String
getDescription() {
21 public abstract GroupInviteLinkUrl
getGroupInviteLink();
23 public abstract Set
<RecipientId
> getMembers();
25 public Set
<RecipientId
> getPendingMembers() {
29 public Set
<RecipientId
> getRequestingMembers() {
33 public Set
<RecipientId
> getAdminMembers() {
37 public abstract boolean isBlocked();
39 public abstract void setBlocked(boolean blocked
);
41 public abstract int getMessageExpirationTime();
43 public Set
<RecipientId
> getMembersWithout(RecipientId recipientId
) {
44 return getMembers().stream().filter(member
-> !member
.equals(recipientId
)).collect(Collectors
.toSet());
47 public Set
<RecipientId
> getMembersIncludingPendingWithout(RecipientId recipientId
) {
48 return Stream
.concat(getMembers().stream(), getPendingMembers().stream())
49 .filter(member
-> !member
.equals(recipientId
))
50 .collect(Collectors
.toSet());
53 public boolean isMember(RecipientId recipientId
) {
54 return getMembers().contains(recipientId
);
57 public boolean isPendingMember(RecipientId recipientId
) {
58 return getPendingMembers().contains(recipientId
);