org.eclipse.jgit.storage.file
Class PackReverseIndex

java.lang.Object
  extended by org.eclipse.jgit.storage.file.PackReverseIndex

public class PackReverseIndex
extends Object

Reverse index for forward pack index. Provides operations based on offset instead of object id. Such offset-based reverse lookups are performed in O(log n) time.

See Also:
PackIndex, PackFile

Constructor Summary
PackReverseIndex(PackIndex packIndex)
          Create reverse index from straight/forward pack index, by indexing all its entries.
 
Method Summary
 long findNextOffset(long offset, long maxOffset)
          Search for the next offset to the specified offset in this pack (reverse) index.
 ObjectId findObject(long offset)
          Search for object id with the specified start offset in this pack (reverse) index.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PackReverseIndex

public PackReverseIndex(PackIndex packIndex)
Create reverse index from straight/forward pack index, by indexing all its entries.

Parameters:
packIndex - forward index - entries to (reverse) index.
Method Detail

findObject

public ObjectId findObject(long offset)
Search for object id with the specified start offset in this pack (reverse) index.

Parameters:
offset - start offset of object to find.
Returns:
object id for this offset, or null if no object was found.

findNextOffset

public long findNextOffset(long offset,
                           long maxOffset)
                    throws CorruptObjectException
Search for the next offset to the specified offset in this pack (reverse) index.

Parameters:
offset - start offset of previous object (must be valid-existing offset).
maxOffset - maximum offset in a pack (returned when there is no next offset).
Returns:
offset of the next object in a pack or maxOffset if provided offset was the last one.
Throws:
CorruptObjectException - when there is no object with the provided offset.


Copyright © 2012. All Rights Reserved.