public class ProjectCacheImpl extends java.lang.Object implements ProjectCache
Modifier and Type | Field and Description |
---|---|
static java.lang.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(java.lang.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() |
java.util.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 java.lang.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 java.io.IOException
ProjectCache
checkedGet
in interface ProjectCache
projectName
- name of the project.java.io.IOException
- when there was an error.public ProjectState checkedGet(Project.NameKey projectName, boolean strict) throws java.lang.Exception
ProjectCache
checkedGet
in interface ProjectCache
projectName
- name of the project.strict
- true when any error generates an exceptionjava.lang.Exception
- in case of any error (strict = true) or only for I/O or other internal
errors.public void evict(Project p)
ProjectCache
evict
in interface ProjectCache
p
- project that is being evictedpublic void evict(Project.NameKey p)
ProjectCache
evict
in interface ProjectCache
p
- the NameKey of the project that is being evictedpublic void remove(Project p)
ProjectCache
ProjectCache.all()
.remove
in interface ProjectCache
public void remove(Project.NameKey name)
ProjectCache
ProjectCache.all()
.remove
in interface ProjectCache
public void onCreateProject(Project.NameKey newProjectName) throws java.io.IOException
ProjectCache
onCreateProject
in interface ProjectCache
java.io.IOException
public com.google.common.collect.ImmutableSortedSet<Project.NameKey> all()
all
in interface ProjectCache
public java.util.Set<AccountGroup.UUID> guessRelevantGroupUUIDs()
guessRelevantGroupUUIDs
in interface ProjectCache
public com.google.common.collect.ImmutableSortedSet<Project.NameKey> byName(java.lang.String pfx)
ProjectCache
byName
in interface ProjectCache
pfx
- common prefix.public void evictAllByName()
public long sizeAllByName()