Class PackBitmapIndexRemapper
java.lang.Object
org.eclipse.jgit.internal.storage.file.PackBitmapIndex
org.eclipse.jgit.internal.storage.file.PackBitmapIndexRemapper
- All Implemented Interfaces:
Iterable<PackBitmapIndexRemapper.Entry>
public class PackBitmapIndexRemapper
extends PackBitmapIndex
implements Iterable<PackBitmapIndexRemapper.Entry>
A PackBitmapIndex that remaps the bitmaps in the previous index to the
positions in the new pack index. Note, unlike typical PackBitmapIndex
implementations this implementation is not thread safe, as it is intended to
be used with a PackBitmapIndexBuilder, which is also not thread safe.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classAn entry in the old PackBitmapIndex.Nested classes/interfaces inherited from class org.eclipse.jgit.internal.storage.file.PackBitmapIndex
PackBitmapIndex.SupplierWithIOException<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BitSet(package private) final PackBitmapIndexprivate final BasePackBitmapIndexprivate final int[]Fields inherited from class org.eclipse.jgit.internal.storage.file.PackBitmapIndex
FLAG_REUSE, packChecksum -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePackBitmapIndexRemapper(BasePackBitmapIndex oldPackIndex, PackBitmapIndex newPackIndex) privatePackBitmapIndexRemapper(PackBitmapIndex newPackIndex) -
Method Summary
Modifier and TypeMethodDescriptionintfindPosition(AnyObjectId objectId) Finds the position in the bitmap of the object.com.googlecode.javaewah.EWAHCompressedBitmapgetBitmap(AnyObjectId objectId) Returns the previously constructed bitmap for the object.intReturns the number of bitmaps in this bitmap index.getObject(int position) Get the object at the bitmap position.intObtain the total number of objects described by this index.iterator()static PackBitmapIndexRemappernewPackBitmapIndex(BitmapIndex prevBitmapIndex, PackBitmapIndex newIndex) A PackBitmapIndex that maps the positions in the prevBitmapIndex to the ones in the newIndex.com.googlecode.javaewah.EWAHCompressedBitmapofObjectType(com.googlecode.javaewah.EWAHCompressedBitmap bitmap, int type) Returns a bitmap containing positions for objects that have the given Git type.Methods inherited from class org.eclipse.jgit.internal.storage.file.PackBitmapIndex
open, read, readMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
oldPackIndex
-
newPackIndex
-
inflated
-
prevToNewMapping
private final int[] prevToNewMapping
-
-
Constructor Details
-
PackBitmapIndexRemapper
-
PackBitmapIndexRemapper
-
-
Method Details
-
newPackBitmapIndex
public static PackBitmapIndexRemapper newPackBitmapIndex(BitmapIndex prevBitmapIndex, PackBitmapIndex newIndex) A PackBitmapIndex that maps the positions in the prevBitmapIndex to the ones in the newIndex.- Parameters:
prevBitmapIndex- the bitmap index with the old mapping.newIndex- the bitmap index with the new mapping.- Returns:
- a bitmap index that attempts to do the mapping between the two.
-
findPosition
Finds the position in the bitmap of the object.- Specified by:
findPositionin classPackBitmapIndex- Parameters:
objectId- the id for which the bitmap position will be found.- Returns:
- the bitmap id or -1 if the object was not found.
-
getObject
Get the object at the bitmap position.- Specified by:
getObjectin classPackBitmapIndex- Parameters:
position- the id for which the object will be found.- Returns:
- the ObjectId.
- Throws:
IllegalArgumentException- when the item is not found.
-
getObjectCount
public int getObjectCount()Obtain the total number of objects described by this index.getObjectCount() - 1is the largest bit that will be set in a bitmap.- Specified by:
getObjectCountin classPackBitmapIndex- Returns:
- number of objects in this index, and likewise in the associated pack that this index was generated from.
-
ofObjectType
public com.googlecode.javaewah.EWAHCompressedBitmap ofObjectType(com.googlecode.javaewah.EWAHCompressedBitmap bitmap, int type) Returns a bitmap containing positions for objects that have the given Git type.- Specified by:
ofObjectTypein classPackBitmapIndex- Parameters:
bitmap- the object bitmap.type- the Git type.- Returns:
- the object bitmap with only objects of the Git type.
-
iterator
- Specified by:
iteratorin interfaceIterable<PackBitmapIndexRemapper.Entry>
-
getBitmap
Returns the previously constructed bitmap for the object.- Specified by:
getBitmapin classPackBitmapIndex- Parameters:
objectId- the id for which the bitmap will be found.- Returns:
- the bitmap or null if the object was not found.
-
getBitmapCount
public int getBitmapCount()Returns the number of bitmaps in this bitmap index.- Specified by:
getBitmapCountin classPackBitmapIndex- Returns:
- the number of bitmaps in this bitmap index.
-