Skip to content

Commit 403d129

Browse files
Remove confusing permission override methods (discord-jda#2067)
1 parent f4f31b6 commit 403d129

File tree

5 files changed

+45
-109
lines changed

5 files changed

+45
-109
lines changed

Diff for: src/main/java/net/dv8tion/jda/api/entities/IPermissionContainer.java

+4-68
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import net.dv8tion.jda.api.managers.channel.attribute.IPermissionContainerManager;
2020
import net.dv8tion.jda.api.requests.restaction.PermissionOverrideAction;
21-
import net.dv8tion.jda.internal.utils.Checks;
2221

2322
import javax.annotation.CheckReturnValue;
2423
import javax.annotation.Nonnull;
@@ -109,65 +108,6 @@ default List<PermissionOverride> getRolePermissionOverrides()
109108
.collect(Collectors.toList()));
110109
}
111110

112-
/**
113-
* Creates a {@link net.dv8tion.jda.api.entities.PermissionOverride PermissionOverride}
114-
* for the specified {@link net.dv8tion.jda.api.entities.Member Member} or {@link net.dv8tion.jda.api.entities.Role Role} in this GuildChannel.
115-
* You can use {@link #putPermissionOverride(IPermissionHolder)} to replace existing overrides.
116-
*
117-
* <p>Possible ErrorResponses include:
118-
* <ul>
119-
* <li>{@link net.dv8tion.jda.api.requests.ErrorResponse#UNKNOWN_CHANNEL UNKNOWN_CHANNEL}
120-
* <br>If this channel was already deleted</li>
121-
*
122-
* <li>{@link net.dv8tion.jda.api.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
123-
* <br>If we were removed from the Guild</li>
124-
* </ul>
125-
*
126-
* @param permissionHolder
127-
* The Member or Role to create an override for
128-
*
129-
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
130-
* if we don't have the permission to {@link net.dv8tion.jda.api.Permission#MANAGE_PERMISSIONS MANAGE_PERMISSIONS}
131-
* @throws IllegalArgumentException
132-
* if the specified permission holder is null or is not from {@link #getGuild()}
133-
* @throws java.lang.IllegalStateException
134-
* If the specified permission holder already has a PermissionOverride. Use {@link #getPermissionOverride(IPermissionHolder)} to retrieve it.
135-
* You can use {@link #putPermissionOverride(IPermissionHolder)} to replace existing overrides.
136-
*
137-
* @return {@link PermissionOverrideAction PermissionOverrideAction}
138-
* Provides the newly created PermissionOverride for the specified permission holder
139-
*/
140-
@Nonnull
141-
@CheckReturnValue
142-
default PermissionOverrideAction createPermissionOverride(@Nonnull IPermissionHolder permissionHolder)
143-
{
144-
Checks.notNull(permissionHolder, "PermissionHolder");
145-
if (getPermissionOverride(permissionHolder) != null)
146-
throw new IllegalStateException("Provided member already has a PermissionOverride in this channel!");
147-
148-
return putPermissionOverride(permissionHolder);
149-
}
150-
151-
/**
152-
* Creates a {@link net.dv8tion.jda.api.entities.PermissionOverride PermissionOverride}
153-
* for the specified {@link net.dv8tion.jda.api.entities.Member Member} or {@link net.dv8tion.jda.api.entities.Role Role} in this GuildChannel.
154-
* <br>If the permission holder already has an existing override it will be replaced.
155-
*
156-
* @param permissionHolder
157-
* The Member or Role to create the override for
158-
*
159-
* @throws net.dv8tion.jda.api.exceptions.InsufficientPermissionException
160-
* if we don't have the permission to {@link net.dv8tion.jda.api.Permission#MANAGE_PERMISSIONS MANAGE_PERMISSIONS}
161-
* @throws java.lang.IllegalArgumentException
162-
* If the provided permission holder is null or from a different guild
163-
*
164-
* @return {@link PermissionOverrideAction PermissionOverrideAction}
165-
* Provides the newly created PermissionOverride for the specified permission holder
166-
*/
167-
@Nonnull
168-
@CheckReturnValue
169-
PermissionOverrideAction putPermissionOverride(@Nonnull IPermissionHolder permissionHolder);
170-
171111
/**
172112
* Creates a new override or updates an existing one.
173113
* <br>This is similar to calling {@link PermissionOverride#getManager()} if an override exists.
@@ -183,15 +123,11 @@ default PermissionOverrideAction createPermissionOverride(@Nonnull IPermissionHo
183123
* @return {@link net.dv8tion.jda.api.requests.restaction.PermissionOverrideAction}
184124
* <br>With the current settings of an existing override or a fresh override with no permissions set
185125
*
186-
* @since 4.0.0
126+
* @see PermissionOverrideAction#clear(long)
127+
* @see PermissionOverrideAction#grant(long)
128+
* @see PermissionOverrideAction#deny(long)
187129
*/
188130
@Nonnull
189131
@CheckReturnValue
190-
default PermissionOverrideAction upsertPermissionOverride(@Nonnull IPermissionHolder permissionHolder)
191-
{
192-
PermissionOverride override = getPermissionOverride(permissionHolder);
193-
if (override != null)
194-
return override.getManager();
195-
return putPermissionOverride(permissionHolder);
196-
}
132+
PermissionOverrideAction upsertPermissionOverride(@Nonnull IPermissionHolder permissionHolder);
197133
}

Diff for: src/main/java/net/dv8tion/jda/api/entities/PermissionOverride.java

-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030
* permission overrides that can be set for channels.
3131
*
3232
* @see IPermissionContainer#upsertPermissionOverride(IPermissionHolder)
33-
* @see IPermissionContainer#createPermissionOverride(IPermissionHolder)
34-
* @see IPermissionContainer#putPermissionOverride(IPermissionHolder)
3533
*
3634
* @see IPermissionContainer#getPermissionOverrides()
3735
* @see IPermissionContainer#getPermissionOverride(IPermissionHolder)

Diff for: src/main/java/net/dv8tion/jda/api/requests/restaction/PermissionOverrideAction.java

+27-29
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@
3838
*
3939
* @see net.dv8tion.jda.api.entities.PermissionOverride#getManager()
4040
* @see IPermissionContainer#upsertPermissionOverride(IPermissionHolder)
41-
* @see IPermissionContainer#createPermissionOverride(IPermissionHolder)
42-
* @see IPermissionContainer#putPermissionOverride(IPermissionHolder)
4341
*/
4442
public interface PermissionOverrideAction extends AuditableRestAction<PermissionOverride>
4543
{
@@ -131,7 +129,7 @@ default Guild getGuild()
131129
*
132130
* @return long value of granted permissions
133131
*/
134-
long getAllow();
132+
long getAllowed();
135133

136134
/**
137135
* Set of {@link net.dv8tion.jda.api.Permission Permissions}
@@ -143,7 +141,7 @@ default Guild getGuild()
143141
@Nonnull
144142
default EnumSet<Permission> getAllowedPermissions()
145143
{
146-
return Permission.getPermissions(getAllow());
144+
return Permission.getPermissions(getAllowed());
147145
}
148146

149147
/**
@@ -156,7 +154,7 @@ default EnumSet<Permission> getAllowedPermissions()
156154
*
157155
* @return long value of denied permissions
158156
*/
159-
long getDeny();
157+
long getDenied();
160158

161159
/**
162160
* Set of {@link net.dv8tion.jda.api.Permission Permissions}
@@ -168,7 +166,7 @@ default EnumSet<Permission> getAllowedPermissions()
168166
@Nonnull
169167
default EnumSet<Permission> getDeniedPermissions()
170168
{
171-
return Permission.getPermissions(getDeny());
169+
return Permission.getPermissions(getDenied());
172170
}
173171

174172
/**
@@ -240,12 +238,12 @@ default EnumSet<Permission> getInheritedPermissions()
240238
*
241239
* @return The current PermissionOverrideAction - for chaining convenience
242240
*
243-
* @see #setAllow(java.util.Collection) setAllow(Collection)
244-
* @see #setAllow(net.dv8tion.jda.api.Permission...) setAllow(Permission...)
241+
* @see #setAllowed(java.util.Collection) setAllow(Collection)
242+
* @see #setAllowed(net.dv8tion.jda.api.Permission...) setAllow(Permission...)
245243
*/
246244
@Nonnull
247245
@CheckReturnValue
248-
PermissionOverrideAction setAllow(long allowBits);
246+
PermissionOverrideAction setAllowed(long allowBits);
249247

250248
/**
251249
* Sets the value of explicitly granted permissions
@@ -268,16 +266,16 @@ default EnumSet<Permission> getInheritedPermissions()
268266
* @return The current PermissionOverrideAction - for chaining convenience
269267
*
270268
* @see java.util.EnumSet EnumSet
271-
* @see #setAllow(net.dv8tion.jda.api.Permission...) setAllow(Permission...)
269+
* @see #setAllowed(net.dv8tion.jda.api.Permission...) setAllow(Permission...)
272270
*/
273271
@Nonnull
274272
@CheckReturnValue
275-
default PermissionOverrideAction setAllow(@Nullable Collection<Permission> permissions)
273+
default PermissionOverrideAction setAllowed(@Nullable Collection<Permission> permissions)
276274
{
277275
if (permissions == null || permissions.isEmpty())
278-
return setAllow(0);
276+
return setAllowed(0);
279277
Checks.noneNull(permissions, "Permissions");
280-
return setAllow(Permission.getRaw(permissions));
278+
return setAllowed(Permission.getRaw(permissions));
281279
}
282280

283281
/**
@@ -300,12 +298,12 @@ default PermissionOverrideAction setAllow(@Nullable Collection<Permission> permi
300298
*/
301299
@Nonnull
302300
@CheckReturnValue
303-
default PermissionOverrideAction setAllow(@Nullable Permission... permissions)
301+
default PermissionOverrideAction setAllowed(@Nullable Permission... permissions)
304302
{
305303
if (permissions == null || permissions.length == 0)
306-
return setAllow(0);
304+
return setAllowed(0);
307305
Checks.noneNull(permissions, "Permissions");
308-
return setAllow(Permission.getRaw(permissions));
306+
return setAllowed(Permission.getRaw(permissions));
309307
}
310308

311309
/**
@@ -389,12 +387,12 @@ default PermissionOverrideAction grant(@Nonnull Permission... permissions)
389387
*
390388
* @return The current PermissionOverrideAction - for chaining convenience
391389
*
392-
* @see #setDeny(java.util.Collection) setDeny(Collection)
393-
* @see #setDeny(net.dv8tion.jda.api.Permission...) setDeny(Permission...)
390+
* @see #setDenied(java.util.Collection) setDeny(Collection)
391+
* @see #setDenied(net.dv8tion.jda.api.Permission...) setDeny(Permission...)
394392
*/
395393
@Nonnull
396394
@CheckReturnValue
397-
PermissionOverrideAction setDeny(long denyBits);
395+
PermissionOverrideAction setDenied(long denyBits);
398396

399397
/**
400398
* Sets the value of explicitly denied permissions
@@ -417,16 +415,16 @@ default PermissionOverrideAction grant(@Nonnull Permission... permissions)
417415
* @return The current PermissionOverrideAction - for chaining convenience
418416
*
419417
* @see java.util.EnumSet EnumSet
420-
* @see #setDeny(net.dv8tion.jda.api.Permission...) setDeny(Permission...)
418+
* @see #setDenied(net.dv8tion.jda.api.Permission...) setDeny(Permission...)
421419
*/
422420
@Nonnull
423421
@CheckReturnValue
424-
default PermissionOverrideAction setDeny(@Nullable Collection<Permission> permissions)
422+
default PermissionOverrideAction setDenied(@Nullable Collection<Permission> permissions)
425423
{
426424
if (permissions == null || permissions.isEmpty())
427-
return setDeny(0);
425+
return setDenied(0);
428426
Checks.noneNull(permissions, "Permissions");
429-
return setDeny(Permission.getRaw(permissions));
427+
return setDenied(Permission.getRaw(permissions));
430428
}
431429

432430
/**
@@ -449,12 +447,12 @@ default PermissionOverrideAction setDeny(@Nullable Collection<Permission> permis
449447
*/
450448
@Nonnull
451449
@CheckReturnValue
452-
default PermissionOverrideAction setDeny(@Nullable Permission... permissions)
450+
default PermissionOverrideAction setDenied(@Nullable Permission... permissions)
453451
{
454452
if (permissions == null || permissions.length == 0)
455-
return setDeny(0);
453+
return setDenied(0);
456454
Checks.noneNull(permissions, "Permissions");
457-
return setDeny(Permission.getRaw(permissions));
455+
return setDenied(Permission.getRaw(permissions));
458456
}
459457

460458
/**
@@ -584,7 +582,7 @@ default PermissionOverrideAction clear(@Nonnull Permission... permissions)
584582

585583

586584
/**
587-
* Combination of {@link #setAllow(long)} and {@link #setDeny(long)}
585+
* Combination of {@link #setAllowed(long)} and {@link #setDenied(long)}
588586
* <br>First sets the allow bits and then the deny bits.
589587
*
590588
* @param allowBits
@@ -609,7 +607,7 @@ default PermissionOverrideAction clear(@Nonnull Permission... permissions)
609607
PermissionOverrideAction setPermissions(long allowBits, long denyBits);
610608

611609
/**
612-
* Combination of {@link #setAllow(java.util.Collection)} and {@link #setDeny(java.util.Collection)}
610+
* Combination of {@link #setAllowed(java.util.Collection)} and {@link #setDenied(java.util.Collection)}
613611
* <br>First sets the granted permissions and then the denied permissions.
614612
* <br>If a passed collection is {@code null} it resets the represented value to {@code 0} - no permission specifics.
615613
*
@@ -637,6 +635,6 @@ default PermissionOverrideAction clear(@Nonnull Permission... permissions)
637635
@CheckReturnValue
638636
default PermissionOverrideAction setPermissions(@Nullable Collection<Permission> grantPermissions, @Nullable Collection<Permission> denyPermissions)
639637
{
640-
return setAllow(grantPermissions).setDeny(denyPermissions);
638+
return setAllowed(grantPermissions).setDenied(denyPermissions);
641639
}
642640
}

Diff for: src/main/java/net/dv8tion/jda/internal/entities/mixin/channel/attribute/IPermissionContainerMixin.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,15 @@ default List<PermissionOverride> getPermissionOverrides()
5353

5454
@Nonnull
5555
@Override
56-
default PermissionOverrideAction putPermissionOverride(@Nonnull IPermissionHolder permissionHolder)
56+
default PermissionOverrideAction upsertPermissionOverride(@Nonnull IPermissionHolder permissionHolder)
5757
{
5858
checkPermission(Permission.MANAGE_PERMISSIONS);
5959
Checks.notNull(permissionHolder, "PermissionHolder");
6060
Checks.check(permissionHolder.getGuild().equals(getGuild()), "Provided permission holder is not from the same guild as this channel!");
61+
62+
PermissionOverride override = getPermissionOverride(permissionHolder);
63+
if (override != null)
64+
return override.getManager();
6165
return new PermissionOverrideActionImpl(getJDA(), this, permissionHolder);
6266
}
6367

Diff for: src/main/java/net/dv8tion/jda/internal/requests/restaction/PermissionOverrideActionImpl.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -152,21 +152,21 @@ public Member getMember()
152152
}
153153

154154
@Override
155-
public long getAllow()
155+
public long getAllowed()
156156
{
157157
return getCurrentAllow();
158158
}
159159

160160
@Override
161-
public long getDeny()
161+
public long getDenied()
162162
{
163163
return getCurrentDeny();
164164
}
165165

166166
@Override
167167
public long getInherited()
168168
{
169-
return ~getAllow() & ~getDeny();
169+
return ~getAllowed() & ~getDenied();
170170
}
171171

172172
@Override
@@ -184,7 +184,7 @@ public boolean isRole()
184184
@Nonnull
185185
@Override
186186
@CheckReturnValue
187-
public PermissionOverrideActionImpl setAllow(long allowBits)
187+
public PermissionOverrideActionImpl setAllowed(long allowBits)
188188
{
189189
checkPermissions(getOriginalAllow() ^ allowBits);
190190
this.allow = allowBits;
@@ -197,13 +197,13 @@ public PermissionOverrideActionImpl setAllow(long allowBits)
197197
@Override
198198
public PermissionOverrideAction grant(long allowBits)
199199
{
200-
return setAllow(getCurrentAllow() | allowBits);
200+
return setAllowed(getCurrentAllow() | allowBits);
201201
}
202202

203203
@Nonnull
204204
@Override
205205
@CheckReturnValue
206-
public PermissionOverrideActionImpl setDeny(long denyBits)
206+
public PermissionOverrideActionImpl setDenied(long denyBits)
207207
{
208208
checkPermissions(getOriginalDeny() ^ denyBits);
209209
this.deny = denyBits;
@@ -216,14 +216,14 @@ public PermissionOverrideActionImpl setDeny(long denyBits)
216216
@Override
217217
public PermissionOverrideAction deny(long denyBits)
218218
{
219-
return setDeny(getCurrentDeny() | denyBits);
219+
return setDenied(getCurrentDeny() | denyBits);
220220
}
221221

222222
@Nonnull
223223
@Override
224224
public PermissionOverrideAction clear(long inheritedBits)
225225
{
226-
return setAllow(getCurrentAllow() & ~inheritedBits).setDeny(getCurrentDeny() & ~inheritedBits);
226+
return setAllowed(getCurrentAllow() & ~inheritedBits).setDenied(getCurrentDeny() & ~inheritedBits);
227227
}
228228

229229
protected void checkPermissions(long changed)
@@ -248,7 +248,7 @@ protected void checkPermissions(long changed)
248248
@CheckReturnValue
249249
public PermissionOverrideActionImpl setPermissions(long allowBits, long denyBits)
250250
{
251-
return setAllow(allowBits).setDeny(denyBits);
251+
return setAllowed(allowBits).setDenied(denyBits);
252252
}
253253

254254
private long getCurrentAllow()

0 commit comments

Comments
 (0)