Package org.eclipse.jgit.internal.storage.file

## 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 Classes
`class` `PackBitmapIndexRemapper.Entry` An entry in the old PackBitmapIndex.

### Field Summary

### Fields inherited from class org.eclipse.jgit.internal.storage.file.PackBitmapIndex

`FLAG_REUSE`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`int` `findPosition​(AnyObjectId objectId)` Finds the position in the bitmap of the object.
`com.googlecode.javaewah.EWAHCompressedBitmap` `getBitmap​(AnyObjectId objectId)` Returns the previously constructed bitmap for the object.
`ObjectId` `getObject​(int position)` Get the object at the bitmap position.
`int` `getObjectCount()` Obtain the total number of objects described by this index.
`Iterator<PackBitmapIndexRemapper.Entry>` `iterator()`
`static PackBitmapIndexRemapper` `newPackBitmapIndex​(BitmapIndex prevBitmapIndex, PackBitmapIndex newIndex)` A PackBitmapIndex that maps the positions in the prevBitmapIndex to the ones in the newIndex.
`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.

### Methods inherited from class org.eclipse.jgit.internal.storage.file.PackBitmapIndex

`open, read`

### 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`

### Method Detail

#### 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

    public int findPosition​(AnyObjectId objectId)

Description copied from class: `PackBitmapIndex`
Finds the position in the bitmap of the object.

Specified by:
  `findPosition` in class `PackBitmapIndex`
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

    public ObjectId getObject​(int position)
                       throws IllegalArgumentException

Description copied from class: `PackBitmapIndex`
Get the object at the bitmap position.

Specified by:
  `getObject` in class `PackBitmapIndex`
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()

Description copied from class: `PackBitmapIndex`
Obtain the total number of objects described by this index. `getObjectCount() - 1` is the largest bit that will be set in a bitmap.

Specified by:
  `getObjectCount` in class `PackBitmapIndex`
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)

Description copied from class: `PackBitmapIndex`
Returns a bitmap containing positions for objects that have the given Git type.

Specified by:
  `ofObjectType` in class `PackBitmapIndex`
Parameters:
  `bitmap` - the object bitmap.
  `type` - the Git type.
Returns:
  the object bitmap with only objects of the Git type.

#### iterator

    public Iterator<PackBitmapIndexRemapper.Entry> iterator()

Specified by:
  `iterator` in interface `Iterable<PackBitmapIndexRemapper.Entry>`

#### getBitmap

    public com.googlecode.javaewah.EWAHCompressedBitmap getBitmap​(AnyObjectId objectId)

Description copied from class: `PackBitmapIndex`
Returns the previously constructed bitmap for the object.

Specified by:
  `getBitmap` in class `PackBitmapIndex`
Parameters:
  `objectId` - the id for which the bitmap will be found.
Returns:
  the bitmap or null if the object was not found.