public class ListGroupMembership extends Object implements GroupMembership
EMPTY
Constructor and Description |
---|
ListGroupMembership(Iterable<AccountGroup.UUID> groupIds) |
Modifier and Type | Method and Description |
---|---|
boolean |
contains(AccountGroup.UUID groupId)
Returns
true when the user this object was created for is a member of the specified
group. |
boolean |
containsAnyOf(Iterable<AccountGroup.UUID> groupIds)
Returns
true when the user this object was created for is a member of any of the
specified group. |
Set<AccountGroup.UUID> |
getKnownGroups()
Returns the set of groups that can be determined by the implementation.
|
Set<AccountGroup.UUID> |
intersection(Iterable<AccountGroup.UUID> groupIds)
Returns a set containing an input member of
contains(id) is true. |
public ListGroupMembership(Iterable<AccountGroup.UUID> groupIds)
public boolean contains(AccountGroup.UUID groupId)
GroupMembership
true
when the user this object was created for is a member of the specified
group.contains
in interface GroupMembership
public boolean containsAnyOf(Iterable<AccountGroup.UUID> groupIds)
GroupMembership
true
when the user this object was created for is a member of any of the
specified group.containsAnyOf
in interface GroupMembership
public Set<AccountGroup.UUID> intersection(Iterable<AccountGroup.UUID> groupIds)
GroupMembership
contains(id)
is true.
This is batch form of contains that returns specific group information. Implementors may implement the method as:
Set<AccountGroup.UUID> r = new HashSet<>(); for (AccountGroup.UUID id : groupIds) if (contains(id)) r.add(id);
intersection
in interface GroupMembership
public Set<AccountGroup.UUID> getKnownGroups()
GroupMembership
GroupMembership.contains(AccountGroup.UUID)
would return true
for, but will at
least contain all top level groups. This restriction stems from the API of some group systems,
which make it expensive to enumerate the members of a group.getKnownGroups
in interface GroupMembership