public class ProjectCacheImpl extends Object implements ProjectCache
Modifier and Type | Field and Description |
---|---|
static String |
CACHE_NAME |
Modifier and Type | Method and Description |
---|---|
com.google.common.collect.ImmutableSortedSet<Project.NameKey> |
all() |
com.google.common.collect.ImmutableSortedSet<Project.NameKey> |
byName(String pfx)
Filter the set of registered project names by common prefix.
|
ProjectState |
checkedGet(Project.NameKey projectName)
Get the cached data for a project by its unique name.
|
ProjectState |
checkedGet(Project.NameKey projectName,
boolean strict)
Get the cached data for a project by its unique name.
|
void |
evict(Project.NameKey p)
Invalidate the cached information about the given project, and triggers reindexing for it
|
void |
evict(Project p)
Invalidate the cached information about the given project, and triggers reindexing for it
|
void |
evictAllByName() |
ProjectState |
get(Project.NameKey projectName)
Get the cached data for a project by its unique name.
|
ProjectState |
getAllProjects() |
ProjectState |
getAllUsers() |
Set<AccountGroup.UUID> |
guessRelevantGroupUUIDs() |
static com.google.inject.Module |
module() |
void |
onCreateProject(Project.NameKey newProjectName)
Notify the cache that a new project was constructed.
|
void |
remove(Project.NameKey name)
Remove information about the given project from the cache.
|
void |
remove(Project p)
Remove information about the given project from the cache.
|
long |
sizeAllByName() |
public static final String CACHE_NAME
public static com.google.inject.Module module()
public ProjectState getAllProjects()
getAllProjects
in interface ProjectCache
public ProjectState getAllUsers()
getAllUsers
in interface ProjectCache
public ProjectState get(Project.NameKey projectName)
ProjectCache
get
in interface ProjectCache
projectName
- name of the project.ProjectCache.checkedGet(com.google.gerrit.reviewdb.client.Project.NameKey)
public ProjectState checkedGet(Project.NameKey projectName) throws IOException
ProjectCache
checkedGet
in interface ProjectCache
projectName
- name of the project.IOException
- when there was an error.public ProjectState checkedGet(Project.NameKey projectName, boolean strict) throws Exception
ProjectCache
checkedGet
in interface ProjectCache
projectName
- name of the project.strict
- true when any error generates an exceptionException
- in case of any error (strict = true) or only for I/O or other internal
errors.public void evict(Project p) throws IOException
ProjectCache
evict
in interface ProjectCache
p
- project that is being evictedIOException
- thrown if the reindexing failspublic void evict(Project.NameKey p) throws IOException
ProjectCache
evict
in interface ProjectCache
p
- the NameKey of the project that is being evictedIOException
- thrown if the reindexing failspublic void remove(Project p) throws IOException
ProjectCache
ProjectCache.all()
.remove
in interface ProjectCache
IOException
public void remove(Project.NameKey name) throws IOException
ProjectCache
ProjectCache.all()
.remove
in interface ProjectCache
IOException
public void onCreateProject(Project.NameKey newProjectName) throws IOException
ProjectCache
onCreateProject
in interface ProjectCache
IOException
public com.google.common.collect.ImmutableSortedSet<Project.NameKey> all()
all
in interface ProjectCache
public Set<AccountGroup.UUID> guessRelevantGroupUUIDs()
guessRelevantGroupUUIDs
in interface ProjectCache
public com.google.common.collect.ImmutableSortedSet<Project.NameKey> byName(String pfx)
ProjectCache
byName
in interface ProjectCache
pfx
- common prefix.public void evictAllByName()
public long sizeAllByName()