Class NullProjectCache

java.lang.Object
com.google.gerrit.server.project.NullProjectCache
All Implemented Interfaces:
ProjectCache

public class NullProjectCache extends Object implements ProjectCache
An implementation of ProjectCache with no operations implemented.
  • Constructor Details

    • NullProjectCache

      public NullProjectCache()
  • Method Details

    • getAllProjects

      public ProjectState getAllProjects()
      Description copied from interface: ProjectCache
      Returns the parent state for all projects on this server.
      Specified by:
      getAllProjects in interface ProjectCache
    • getAllUsers

      public ProjectState getAllUsers()
      Description copied from interface: ProjectCache
      Returns the project state of the project storing meta data for all users.
      Specified by:
      getAllUsers in interface ProjectCache
    • get

      public Optional<ProjectState> get(Project.NameKey projectName) throws com.google.gerrit.exceptions.StorageException
      Description copied from interface: ProjectCache
      Get the cached data for a project by its unique name.
      Specified by:
      get in interface ProjectCache
      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

      public void evict(Project.NameKey p)
      Description copied from interface: ProjectCache
      Invalidate the cached information about the given project.
      Specified by:
      evict in interface ProjectCache
      Parameters:
      p - the NameKey of the project that is being evicted
    • remove

      public void remove(Project p)
      Description copied from interface: ProjectCache
      Remove information about the given project from the cache. It will no longer be returned from ProjectCache.all().
      Specified by:
      remove in interface ProjectCache
    • remove

      public void remove(Project.NameKey name)
      Description copied from interface: ProjectCache
      Remove information about the given project from the cache. It will no longer be returned from ProjectCache.all().
      Specified by:
      remove in interface ProjectCache
    • all

      public com.google.common.collect.ImmutableSortedSet<Project.NameKey> all()
      Description copied from interface: ProjectCache
      Returns sorted iteration of projects.
      Specified by:
      all in interface ProjectCache
    • refreshProjectList

      public void refreshProjectList()
      Description copied from interface: ProjectCache
      Refreshes project list cache
      Specified by:
      refreshProjectList in interface ProjectCache
    • guessRelevantGroupUUIDs

      public Set<AccountGroup.UUID> guessRelevantGroupUUIDs()
      Description copied from interface: ProjectCache
      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.
      Specified by:
      guessRelevantGroupUUIDs in interface ProjectCache
    • byName

      public com.google.common.collect.ImmutableSortedSet<Project.NameKey> byName(String prefix)
      Description copied from interface: ProjectCache
      Filter the set of registered project names by common prefix.
      Specified by:
      byName in interface ProjectCache
      Parameters:
      prefix - common prefix.
      Returns:
      sorted iteration of projects sharing the same prefix.
    • onCreateProject

      public void onCreateProject(Project.NameKey newProjectName) throws IOException
      Description copied from interface: ProjectCache
      Notify the cache that a new project was constructed.
      Specified by:
      onCreateProject in interface ProjectCache
      Throws:
      IOException
    • evictAndReindex

      public void evictAndReindex(Project p)
      Description copied from interface: ProjectCache
      Invalidate the cached information about the given project, and triggers reindexing for it
      Specified by:
      evictAndReindex in interface ProjectCache
      Parameters:
      p - project that is being evicted
    • evictAndReindex

      public void evictAndReindex(Project.NameKey p)
      Description copied from interface: ProjectCache
      Invalidate the cached information about the given project, and triggers reindexing for it
      Specified by:
      evictAndReindex in interface ProjectCache
      Parameters:
      p - the NameKey of the project that is being evicted