Class PackFile
- java.lang.Object
-
- org.eclipse.jgit.internal.storage.file.PackFile
-
- All Implemented Interfaces:
Iterable<PackIndex.MutableEntry>
public class PackFile extends Object implements Iterable<PackIndex.MutableEntry>
A Git version 2 pack file representation. A pack file contains Git objects in delta packed format yielding high compression of lots of object where some objects are similar.
-
-
Field Summary
Fields Modifier and Type Field Description static Comparator<PackFile>SORTSorts PackFiles to be most recently created to least recently created.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close the resources utilized by this repositoryPackIndexgetIndex()FilegetPackFile()StringgetPackName()booleanhasObject(AnyObjectId id)Determine if an object is contained within the pack file.Iterator<PackIndex.MutableEntry>iterator()Provide iterator over entries in associated pack index, that should also exist in this pack file.booleanshouldBeKept()Determines whether a .keep file exists for this pack file.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
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.packfile 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.
-
getIndex
public PackIndex getIndex() throws IOException
- Returns:
- the index for this pack file.
- Throws:
IOException
-
getPackName
public String getPackName()
- Returns:
- name extracted from
pack-*.packpattern.
-
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:
iteratorin interfaceIterable<PackIndex.MutableEntry>- Returns:
- iterator over entries of associated pack index
- See Also:
PackIndex.iterator()
-
-