Interface FileDiffCache

  • All Known Implementing Classes:
    FileDiffCacheImpl

    public interface FileDiffCache
    This cache computes the git diff for a single file path and adds some extra logic, e.g. for identifying edits that are due to rebase.
    • Method Detail

      • get

        FileDiffOutput get​(FileDiffCacheKey key)
                    throws DiffNotAvailableException
        Returns the file diff for a single file path identified by its key.
        Parameters:
        key - identifies two git commits, a specific file path and other diff parameters.
        Returns:
        the file diff for a single file path identified by its key.
        Throws:
        DiffNotAvailableException - if the commit IDs of the key are invalid for this project or if file contents could not be read.
      • getAll

        com.google.common.collect.ImmutableMap<FileDiffCacheKey,​FileDiffOutput> getAll​(Iterable<FileDiffCacheKey> keys)
                                                                                      throws DiffNotAvailableException
        Returns the file diff for a collection of file paths identified by their keys.
        Parameters:
        keys - identifying different file paths of different projects.
        Returns:
        a map of the input keys to their corresponding git file diffs.
        Throws:
        DiffNotAvailableException - if the diff failed to be evaluated for one or more of the input keys due to invalid commit IDs or if file contents could not be read.