summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupIncludeCache.java
diff options
context:
space:
mode:
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.java15
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);
+}