1 package org
.asamk
.signal
.manager
.api
;
5 public class UpdateGroup
{
7 private final String name
;
8 private final String description
;
9 private final Set
<RecipientIdentifier
.Single
> members
;
10 private final Set
<RecipientIdentifier
.Single
> removeMembers
;
11 private final Set
<RecipientIdentifier
.Single
> admins
;
12 private final Set
<RecipientIdentifier
.Single
> removeAdmins
;
13 private final Set
<RecipientIdentifier
.Single
> banMembers
;
14 private final Set
<RecipientIdentifier
.Single
> unbanMembers
;
15 private final boolean resetGroupLink
;
16 private final GroupLinkState groupLinkState
;
17 private final GroupPermission addMemberPermission
;
18 private final GroupPermission editDetailsPermission
;
19 private final String avatarFile
;
20 private final Integer expirationTimer
;
21 private final Boolean isAnnouncementGroup
;
23 private UpdateGroup(final Builder builder
) {
25 description
= builder
.description
;
26 members
= builder
.members
;
27 removeMembers
= builder
.removeMembers
;
28 admins
= builder
.admins
;
29 removeAdmins
= builder
.removeAdmins
;
30 banMembers
= builder
.banMembers
;
31 unbanMembers
= builder
.unbanMembers
;
32 resetGroupLink
= builder
.resetGroupLink
;
33 groupLinkState
= builder
.groupLinkState
;
34 addMemberPermission
= builder
.addMemberPermission
;
35 editDetailsPermission
= builder
.editDetailsPermission
;
36 avatarFile
= builder
.avatarFile
;
37 expirationTimer
= builder
.expirationTimer
;
38 isAnnouncementGroup
= builder
.isAnnouncementGroup
;
41 public static Builder
newBuilder() {
45 public static Builder
newBuilder(final UpdateGroup copy
) {
46 return new Builder(copy
.name
,
56 copy
.addMemberPermission
,
57 copy
.editDetailsPermission
,
60 copy
.isAnnouncementGroup
);
63 public static Builder
newBuilder(
65 final String description
,
66 final Set
<RecipientIdentifier
.Single
> members
,
67 final Set
<RecipientIdentifier
.Single
> removeMembers
,
68 final Set
<RecipientIdentifier
.Single
> admins
,
69 final Set
<RecipientIdentifier
.Single
> removeAdmins
,
70 final Set
<RecipientIdentifier
.Single
> banMembers
,
71 final Set
<RecipientIdentifier
.Single
> unbanMembers
,
72 final boolean resetGroupLink
,
73 final GroupLinkState groupLinkState
,
74 final GroupPermission addMemberPermission
,
75 final GroupPermission editDetailsPermission
,
76 final String avatarFile
,
77 final Integer expirationTimer
,
78 final Boolean isAnnouncementGroup
80 return new Builder(name
,
91 editDetailsPermission
,
97 public String
getName() {
101 public String
getDescription() {
105 public Set
<RecipientIdentifier
.Single
> getMembers() {
109 public Set
<RecipientIdentifier
.Single
> getRemoveMembers() {
110 return removeMembers
;
113 public Set
<RecipientIdentifier
.Single
> getAdmins() {
117 public Set
<RecipientIdentifier
.Single
> getRemoveAdmins() {
121 public Set
<RecipientIdentifier
.Single
> getBanMembers() {
125 public Set
<RecipientIdentifier
.Single
> getUnbanMembers() {
129 public boolean isResetGroupLink() {
130 return resetGroupLink
;
133 public GroupLinkState
getGroupLinkState() {
134 return groupLinkState
;
137 public GroupPermission
getAddMemberPermission() {
138 return addMemberPermission
;
141 public GroupPermission
getEditDetailsPermission() {
142 return editDetailsPermission
;
145 public String
getAvatarFile() {
149 public Integer
getExpirationTimer() {
150 return expirationTimer
;
153 public Boolean
getIsAnnouncementGroup() {
154 return isAnnouncementGroup
;
157 public static final class Builder
{
160 private String description
;
161 private Set
<RecipientIdentifier
.Single
> members
;
162 private Set
<RecipientIdentifier
.Single
> removeMembers
;
163 private Set
<RecipientIdentifier
.Single
> admins
;
164 private Set
<RecipientIdentifier
.Single
> removeAdmins
;
165 private Set
<RecipientIdentifier
.Single
> banMembers
;
166 private Set
<RecipientIdentifier
.Single
> unbanMembers
;
167 private boolean resetGroupLink
;
168 private GroupLinkState groupLinkState
;
169 private GroupPermission addMemberPermission
;
170 private GroupPermission editDetailsPermission
;
171 private String avatarFile
;
172 private Integer expirationTimer
;
173 private Boolean isAnnouncementGroup
;
180 final String description
,
181 final Set
<RecipientIdentifier
.Single
> members
,
182 final Set
<RecipientIdentifier
.Single
> removeMembers
,
183 final Set
<RecipientIdentifier
.Single
> admins
,
184 final Set
<RecipientIdentifier
.Single
> removeAdmins
,
185 final Set
<RecipientIdentifier
.Single
> banMembers
,
186 final Set
<RecipientIdentifier
.Single
> unbanMembers
,
187 final boolean resetGroupLink
,
188 final GroupLinkState groupLinkState
,
189 final GroupPermission addMemberPermission
,
190 final GroupPermission editDetailsPermission
,
191 final String avatarFile
,
192 final Integer expirationTimer
,
193 final Boolean isAnnouncementGroup
196 this.description
= description
;
197 this.members
= members
;
198 this.removeMembers
= removeMembers
;
199 this.admins
= admins
;
200 this.removeAdmins
= removeAdmins
;
201 this.banMembers
= banMembers
;
202 this.unbanMembers
= unbanMembers
;
203 this.resetGroupLink
= resetGroupLink
;
204 this.groupLinkState
= groupLinkState
;
205 this.addMemberPermission
= addMemberPermission
;
206 this.editDetailsPermission
= editDetailsPermission
;
207 this.avatarFile
= avatarFile
;
208 this.expirationTimer
= expirationTimer
;
209 this.isAnnouncementGroup
= isAnnouncementGroup
;
212 public Builder
withName(final String val
) {
217 public Builder
withDescription(final String val
) {
222 public Builder
withMembers(final Set
<RecipientIdentifier
.Single
> val
) {
227 public Builder
withRemoveMembers(final Set
<RecipientIdentifier
.Single
> val
) {
232 public Builder
withAdmins(final Set
<RecipientIdentifier
.Single
> val
) {
237 public Builder
withRemoveAdmins(final Set
<RecipientIdentifier
.Single
> val
) {
242 public Builder
withBanMembers(final Set
<RecipientIdentifier
.Single
> val
) {
247 public Builder
withUnbanMembers(final Set
<RecipientIdentifier
.Single
> val
) {
252 public Builder
withResetGroupLink(final boolean val
) {
253 resetGroupLink
= val
;
257 public Builder
withGroupLinkState(final GroupLinkState val
) {
258 groupLinkState
= val
;
262 public Builder
withAddMemberPermission(final GroupPermission val
) {
263 addMemberPermission
= val
;
267 public Builder
withEditDetailsPermission(final GroupPermission val
) {
268 editDetailsPermission
= val
;
272 public Builder
withAvatarFile(final String val
) {
277 public Builder
withExpirationTimer(final Integer val
) {
278 expirationTimer
= val
;
282 public Builder
withIsAnnouncementGroup(final Boolean val
) {
283 isAnnouncementGroup
= val
;
287 public UpdateGroup
build() {
288 return new UpdateGroup(this);