Class PackedObjectInfo

All Implemented Interfaces:
Serializable, Comparable<AnyObjectId>
Direct Known Subclasses:
ObjectToPack

public class PackedObjectInfo extends ObjectIdOwnerMap.Entry
Description of an object stored in a pack file, including offset.

When objects are stored in packs Git needs the ObjectId and the offset (starting position of the object data) to perform random-access reads of objects from the pack. This extension of ObjectId includes the offset.

See Also:
  • Field Details

    • offset

      private long offset
    • crc

      private int crc
    • type

      private int type
    • sizeBeforeInflating

      private long sizeBeforeInflating
  • Constructor Details

    • PackedObjectInfo

      PackedObjectInfo(long headerOffset, int packedCRC, AnyObjectId id)
    • PackedObjectInfo

      public PackedObjectInfo(AnyObjectId id)
      Create a new structure to remember information about an object.
      Parameters:
      id - the identity of the object the new instance tracks.
  • Method Details

    • getOffset

      public long getOffset()
      Get offset in pack when object has been already written
      Returns:
      offset in pack when object has been already written, or 0 if it has not been written yet
    • setOffset

      public void setOffset(long offset)
      Set the offset in pack when object has been written to.
      Parameters:
      offset - offset where written object starts
    • getCRC

      public int getCRC()
      Get the 32 bit CRC checksum for the packed data.
      Returns:
      the 32 bit CRC checksum for the packed data.
    • setCRC

      public void setCRC(int crc)
      Record the 32 bit CRC checksum for the packed data.
      Parameters:
      crc - checksum of all packed data (including object type code, inflated length and delta base reference) as computed by CRC32.
    • getType

      public int getType()
      Get the object type.
      Returns:
      the object type. The default type is OBJ_BAD, which is considered as unknown or invalid type.
      Since:
      4.9
    • setType

      public void setType(int type)
      Record the object type if applicable.
      Parameters:
      type - the object type.
      Since:
      4.9
    • setSize

      void setSize(long sizeBeforeInflating)
    • getSize

      long getSize()