1 package org
.asamk
.signal
.storage
.groups
;
3 import com
.fasterxml
.jackson
.annotation
.JsonIgnore
;
4 import com
.fasterxml
.jackson
.annotation
.JsonProperty
;
6 import org
.whispersystems
.signalservice
.api
.push
.SignalServiceAddress
;
8 import java
.util
.HashSet
;
11 public abstract class GroupInfo
{
14 public final byte[] groupId
;
16 public GroupInfo(byte[] groupId
) {
17 this.groupId
= groupId
;
21 public abstract String
getTitle();
24 public abstract Set
<SignalServiceAddress
> getMembers();
27 public Set
<SignalServiceAddress
> getPendingMembers() {
32 public Set
<SignalServiceAddress
> getRequestingMembers() {
37 public abstract boolean isBlocked();
40 public abstract void setBlocked(boolean blocked
);
43 public abstract int getMessageExpirationTime();
46 public Set
<SignalServiceAddress
> getMembersWithout(SignalServiceAddress address
) {
47 Set
<SignalServiceAddress
> members
= new HashSet
<>();
48 for (SignalServiceAddress member
: getMembers()) {
49 if (!member
.matches(address
)) {
57 public boolean isMember(SignalServiceAddress address
) {
58 for (SignalServiceAddress member
: getMembers()) {
59 if (member
.matches(address
)) {