Package com.google.gerrit.server.project
Interface ProjectCache
- All Known Implementing Classes:
NullProjectCache
,ProjectCacheImpl
public interface ProjectCache
Cache of project information, including access rights.
-
Method Summary
Modifier and TypeMethodDescriptioncom.google.common.collect.ImmutableSortedSet<Project.NameKey>
all()
Returns sorted iteration of projects.com.google.common.collect.ImmutableSortedSet<Project.NameKey>
Filter the set of registered project names by common prefix.void
Invalidate the cached information about the given project.void
Invalidate the cached information about the given project, and triggers reindexing for itvoid
Invalidate the cached information about the given project, and triggers reindexing for itget
(Project.NameKey projectName) Get the cached data for a project by its unique name.Returns the parent state for all projects on this server.Returns the project state of the project storing meta data for all users.Returns estimated set of relevant groups extracted from hot project access rules.static Supplier<IllegalStateException>
illegalState
(Project.NameKey nameKey) Returns a supplier to be used as a short-hand when unwrapping anOptional
returned from this cache.static Supplier<NoSuchProjectException>
noSuchProject
(Project.NameKey nameKey) Returns a supplier to be used as a short-hand when unwrapping anOptional
returned from this cache.void
onCreateProject
(Project.NameKey newProjectName) Notify the cache that a new project was constructed.void
Refreshes project list cachevoid
Remove information about the given project from the cache.void
remove
(Project.NameKey name) Remove information about the given project from the cache.
-
Method Details
-
illegalState
Returns a supplier to be used as a short-hand when unwrapping anOptional
returned from this cache. -
noSuchProject
Returns a supplier to be used as a short-hand when unwrapping anOptional
returned from this cache. -
getAllProjects
ProjectState getAllProjects()Returns the parent state for all projects on this server. -
getAllUsers
ProjectState getAllUsers()Returns the project state of the project storing meta data for all users. -
get
Optional<ProjectState> get(Project.NameKey projectName) throws com.google.gerrit.exceptions.StorageException Get the cached data for a project by its unique name.- Parameters:
projectName
- name of the project.- Returns:
- an
Optional
wrapping the cached data;absent
if no such project exists or the projectName is null - Throws:
com.google.gerrit.exceptions.StorageException
- when there was an error.
-
evict
Invalidate the cached information about the given project.- Parameters:
p
- the NameKey of the project that is being evicted
-
evictAndReindex
Invalidate the cached information about the given project, and triggers reindexing for it- Parameters:
p
- project that is being evicted
-
evictAndReindex
Invalidate the cached information about the given project, and triggers reindexing for it- Parameters:
p
- the NameKey of the project that is being evicted
-
remove
Remove information about the given project from the cache. It will no longer be returned fromall()
. -
remove
Remove information about the given project from the cache. It will no longer be returned fromall()
. -
all
com.google.common.collect.ImmutableSortedSet<Project.NameKey> all()Returns sorted iteration of projects. -
refreshProjectList
void refreshProjectList()Refreshes project list cache -
guessRelevantGroupUUIDs
Set<AccountGroup.UUID> guessRelevantGroupUUIDs()Returns estimated set of relevant groups extracted from hot project access rules. If the cache is cold or too small for the entire project set of the server, this set may be incomplete. -
byName
Filter the set of registered project names by common prefix.- Parameters:
prefix
- common prefix.- Returns:
- sorted iteration of projects sharing the same prefix.
-
onCreateProject
Notify the cache that a new project was constructed.- Throws:
IOException
-