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:
    Serialized Form
    • Constructor Detail

      • 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 Detail

      • 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