Class PermissionSet
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<Permission>
-
- discord4j.rest.util.PermissionSet
-
- All Implemented Interfaces:
Iterable<Permission>
,Collection<Permission>
,Set<Permission>
public final class PermissionSet extends AbstractSet<Permission>
An immutable, specializedSet<Permission>
.This is a value-based class; use of identity-sensitive operations (including reference equality (
==
), identity hash code, or synchronization) on instances ofPermissionSet
may have unpredictable results and should be avoided. Theequals
method should be used for comparisons.- See Also:
- Discord Permissions
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static PermissionSet
all()
Returns aPermissionSet
containing all permissions.PermissionSet
and(PermissionSet other)
Performs a logical AND of this permission set with the other permission set.PermissionSet
andNot(PermissionSet other)
Performs a logical AND NOT of this permission set with the other permission set.EnumSet<Permission>
asEnumSet()
Gets thisPermissionSet
as anEnumSet
.boolean
contains(Object o)
boolean
equals(Object o)
long
getRawValue()
Gets the raw value for thisPermissionSet
.int
hashCode()
Iterator<Permission>
iterator()
static PermissionSet
none()
Returns aPermissionSet
containing no permissions.PermissionSet
not()
Performs a logical NOT of this permission set.static PermissionSet
of(long rawValue)
Returns aPermissionSet
containing all the permissions represented by the raw value.static PermissionSet
of(Permission... permissions)
Returns aPermissionSet
containing all the supplied permissions.static PermissionSet
of(String rawValue)
Returns aPermissionSet
containing all the permissions represented by the raw value.PermissionSet
or(PermissionSet other)
Performs a logical OR of this permission set with the other permission set.int
size()
PermissionSet
subtract(PermissionSet other)
Deprecated.UseandNot(PermissionSet)
instead.String
toString()
PermissionSet
xor(PermissionSet other)
Performs a logical XOR of this permission set with the other permission set.-
Methods inherited from class java.util.AbstractSet
removeAll
-
Methods inherited from class java.util.AbstractCollection
add, addAll, clear, containsAll, isEmpty, remove, retainAll, toArray, toArray
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
-
-
-
Method Detail
-
all
public static PermissionSet all()
Returns aPermissionSet
containing all permissions.- Returns:
- A
PermissionSet
containing all permissions.
-
none
public static PermissionSet none()
Returns aPermissionSet
containing no permissions.- Returns:
- A
PermissionSet
containing no permissions.
-
of
public static PermissionSet of(long rawValue)
Returns aPermissionSet
containing all the permissions represented by the raw value.- Parameters:
rawValue
- A bit-wise OR evaluation of multiple values returned byPermission.getValue()
.- Returns:
- A
PermissionSet
containing all the permissions represented by the raw value.
-
of
public static PermissionSet of(String rawValue)
Returns aPermissionSet
containing all the permissions represented by the raw value.- Parameters:
rawValue
- A bit-wise OR evaluation of multiple values returned byPermission.getValue()
, as a string.- Returns:
- A
PermissionSet
containing all the permissions represented by the raw value.
-
of
public static PermissionSet of(Permission... permissions)
Returns aPermissionSet
containing all the supplied permissions.- Parameters:
permissions
- The permissions to add to thePermissionSet
.- Returns:
- A
PermissionSet
containing all the supplied permissions.
-
and
public PermissionSet and(PermissionSet other)
Performs a logical AND of this permission set with the other permission set.The resultant set is the intersection of this set and the other set. A permission is contained if and only if it was contained in both this set and the other set. This is analogous to
Set.retainAll(java.util.Collection)
.PermissionSet set0 = PermissionSet.of(KICK_MEMBERS, BAN_MEMBERS); PermissionSet set1 = PermissionSet.of(KICK_MEMBERS); set0.and(set1) = PermissionSet.of(KICK_MEMBERS)
- Parameters:
other
- The other permission set.- Returns:
- The intersection of this set with the other set.
-
or
public PermissionSet or(PermissionSet other)
Performs a logical OR of this permission set with the other permission set.The resultant set is the union of this set and the other set. A permission is contained if and only if it was contained in either this set or the other set. This is analogous to
Set.addAll(java.util.Collection)
.PermissionSet set0 = PermissionSet.of(KICK_MEMBERS); PermissionSet set1 = PermissionSet.of(BAN_MEMBERS); set0.or(set1) = PermissionSet.of(KICK_MEMBERS, BAN_MEMBERS)
- Parameters:
other
- The other permission set.- Returns:
- The union of this set with the other set.
-
xor
public PermissionSet xor(PermissionSet other)
Performs a logical XOR of this permission set with the other permission set.The resultant set is the symmetric difference of this set and the other set. A permission is contained if and only if it was contained in only this set or contained in only the other set.
PermissionSet set0 = PermissionSet.of(KICK_MEMBERS, BAN_MEMBERS, ATTACH_FILES); PermissionSet set1 = PermissionSet.of(ATTACH_FILES, CONNECT); set0.xor(set1) = PermissionSet.of(KICK_MEMBERS, BAN_MEMBERS, CONNECT)
- Parameters:
other
- The other permission set.- Returns:
- The symmetric difference of this set with the other set.
-
andNot
public PermissionSet andNot(PermissionSet other)
Performs a logical AND NOT of this permission set with the other permission set.The resultant set is the relative complement of this set and the other set. A permission is contained if and only if it was contained in this set and not contained in the other set. This is analogous to
Set.removeAll(java.util.Collection)
.PermissionSet set0 = PermissionSet.of(KICK_MEMBERS, BAN_MEMBERS, ATTACH_FILES); PermissionSet set1 = PermissionSet.of(BAN_MEMBERS, ATTACH_FILES, CONNECT); set0.andNot(set1) = PermissionSet.of(KICK_MEMBERS)
- Parameters:
other
- The other permission set.- Returns:
- The relative complement of this set with the other set.
-
subtract
@Deprecated public PermissionSet subtract(PermissionSet other)
Deprecated.UseandNot(PermissionSet)
instead.Performs a logical AND NOT of this permission set with the other permission set.The resultant set is the relative complement of this set and the other set. A permission is contained if and only if it was contained in this set and not contained in the other set.
PermissionSet set0 = PermissionSet.of(KICK_MEMBERS, BAN_MEMBERS, ATTACH_FILES); PermissionSet set1 = PermissionSet.of(BAN_MEMBERS, ATTACH_FILES, CONNECT); set0.subtract(set1) = PermissionSet.of(KICK_MEMBERS)
- Parameters:
other
- The other permission set.- Returns:
- The relative complement of this set with the other set.
-
not
public PermissionSet not()
Performs a logical NOT of this permission set.The resultant set is the complement of this set. A permission is contained if and only if it was not contained in this set.
PermissionSet set = PermissionSet.none(); set.not() = PermissionSet.all()
- Returns:
- The complement of this set.
-
asEnumSet
public EnumSet<Permission> asEnumSet()
Gets thisPermissionSet
as anEnumSet
.- Returns:
- This
PermissionSet
as anEnumSet
.
-
getRawValue
public long getRawValue()
Gets the raw value for thisPermissionSet
.- Returns:
- The raw value for this
PermissionSet
. - See Also:
PermissionSet
-
contains
public boolean contains(Object o)
- Specified by:
contains
in interfaceCollection<Permission>
- Specified by:
contains
in interfaceSet<Permission>
- Overrides:
contains
in classAbstractCollection<Permission>
-
iterator
public Iterator<Permission> iterator()
- Specified by:
iterator
in interfaceCollection<Permission>
- Specified by:
iterator
in interfaceIterable<Permission>
- Specified by:
iterator
in interfaceSet<Permission>
- Specified by:
iterator
in classAbstractCollection<Permission>
-
size
public int size()
- Specified by:
size
in interfaceCollection<Permission>
- Specified by:
size
in interfaceSet<Permission>
- Specified by:
size
in classAbstractCollection<Permission>
-
equals
public boolean equals(@Nullable Object o)
- Specified by:
equals
in interfaceCollection<Permission>
- Specified by:
equals
in interfaceSet<Permission>
- Overrides:
equals
in classAbstractSet<Permission>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfaceCollection<Permission>
- Specified by:
hashCode
in interfaceSet<Permission>
- Overrides:
hashCode
in classAbstractSet<Permission>
-
toString
public String toString()
- Overrides:
toString
in classAbstractCollection<Permission>
-
-