Class PackFile

    • Field Detail

      • SORT

        public static final Comparator<PackFile> SORT
        Sorts PackFiles to be most recently created to least recently created.
    • Constructor Detail

      • PackFile

        public PackFile​(File packFile,
                        int extensions)
        Construct a reader for an existing, pre-indexed packfile.
        Parameters:
        packFile - path of the .pack file holding the data.
        extensions - additional pack file extensions with the same base as the pack
    • Method Detail

      • getPackFile

        public File getPackFile()
        Returns:
        the File object which locates this pack on disk.
      • getPackName

        public String getPackName()
        Returns:
        name extracted from pack-*.pack pattern.
      • hasObject

        public boolean hasObject​(AnyObjectId id)
                          throws IOException
        Determine if an object is contained within the pack file.

        For performance reasons only the index file is searched; the main pack content is ignored entirely.

        Parameters:
        id - the object to look for. Must not be null.
        Returns:
        true if the object is in this pack; false otherwise.
        Throws:
        IOException - the index file cannot be loaded into memory.
      • shouldBeKept

        public boolean shouldBeKept()
        Determines whether a .keep file exists for this pack file.
        Returns:
        true if a .keep file exist.
      • close

        public void close()
        Close the resources utilized by this repository
      • iterator

        public Iterator<PackIndex.MutableEntry> iterator()
        Provide iterator over entries in associated pack index, that should also exist in this pack file. Objects returned by such iterator are mutable during iteration.

        Iterator returns objects in SHA-1 lexicographical order.

        Specified by:
        iterator in interface Iterable<PackIndex.MutableEntry>
        Returns:
        iterator over entries of associated pack index
        See Also:
        PackIndex.iterator()