diff options
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/account/GroupIncludeCache.java')
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/account/GroupIncludeCache.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupIncludeCache.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupIncludeCache.java index 432a8b84a1..d130243884 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupIncludeCache.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupIncludeCache.java @@ -16,12 +16,19 @@ package com.google.gerrit.server.account; import com.google.gerrit.reviewdb.client.AccountGroup; -import java.util.Collection; +import java.util.Set; /** Tracks group inclusions in memory for efficient access. */ public interface GroupIncludeCache { - public Collection<AccountGroup.UUID> getByInclude(AccountGroup.UUID groupId); + /** @return groups directly a member of the passed group. */ + public Set<AccountGroup.UUID> membersOf(AccountGroup.UUID group); - public void evictInclude(AccountGroup.UUID groupId); -} + /** @return any groups the passed group belongs to. */ + public Set<AccountGroup.UUID> memberIn(AccountGroup.UUID groupId); + + /** @return set of any UUIDs that are not internal groups. */ + public Set<AccountGroup.UUID> allExternalMembers(); + public void evictMembersOf(AccountGroup.UUID groupId); + public void evictMemberIn(AccountGroup.UUID groupId); +} |