Class PackFile
- java.lang.Object
-
- org.eclipse.jgit.internal.storage.file.PackFile
-
- All Implemented Interfaces:
java.lang.Iterable<PackIndex.MutableEntry>
public class PackFile extends java.lang.Object implements java.lang.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.
-
-
Constructor Summary
Constructors Constructor Description PackFile(java.io.File packFile, int extensions)Construct a reader for an existing, pre-indexed packfile.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close the resources utilized by this repositoryPackIndexgetIndex()java.io.FilegetPackFile()java.lang.StringgetPackName()booleanhasObject(AnyObjectId id)Determine if an object is contained within the pack file.java.util.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.
-
-
-
Field Detail
-
SORT
public static final java.util.Comparator<PackFile> SORT
Sorts PackFiles to be most recently created to least recently created.
-
-
Method Detail
-
getPackFile
public java.io.File getPackFile()
- Returns:
- the File object which locates this pack on disk.
-
getIndex
public PackIndex getIndex() throws java.io.IOException
- Returns:
- the index for this pack file.
- Throws:
java.io.IOException
-
getPackName
public java.lang.String getPackName()
- Returns:
- name extracted from
pack-*.packpattern.
-
hasObject
public boolean hasObject(AnyObjectId id) throws java.io.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:
java.io.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 java.util.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 interfacejava.lang.Iterable<PackIndex.MutableEntry>- Returns:
- iterator over entries of associated pack index
- See Also:
PackIndex.iterator()
-
-