Class PackInserter.Reader

java.lang.Object
org.eclipse.jgit.lib.ObjectReader
org.eclipse.jgit.internal.storage.file.PackInserter.Reader
All Implemented Interfaces:
AutoCloseable
Enclosing class:
PackInserter

private class PackInserter.Reader extends ObjectReader
  • Field Details

  • Constructor Details

    • Reader

      private Reader()
  • Method Details

    • newReader

      public ObjectReader newReader()
      Description copied from class: ObjectReader
      Construct a new reader from the same data.

      Applications can use this method to build a new reader from the same data source, but for an different thread.

      Specified by:
      newReader in class ObjectReader
      Returns:
      a brand new reader, using the same data source.
    • getCreatedFromInserter

      public ObjectInserter getCreatedFromInserter()
      Description copied from class: ObjectReader
      Get the ObjectInserter from which this reader was created using inserter.newReader()
      Overrides:
      getCreatedFromInserter in class ObjectReader
      Returns:
      the ObjectInserter from which this reader was created using inserter.newReader(), or null if this reader was not created from an inserter.
    • resolve

      public Collection<ObjectId> resolve(AbbreviatedObjectId id) throws IOException
      Description copied from class: ObjectReader
      Resolve an abbreviated ObjectId to its full form. This method searches for an ObjectId that begins with the abbreviation, and returns at least some matching candidates. If the returned collection is empty, no objects start with this abbreviation. The abbreviation doesn't belong to this repository, or the repository lacks the necessary objects to complete it. If the collection contains exactly one member, the abbreviation is (currently) unique within this database. There is a reasonably high probability that the returned id is what was previously abbreviated. If the collection contains 2 or more members, the abbreviation is not unique. In this case the implementation is only required to return at least 2 candidates to signal the abbreviation has conflicts. User friendly implementations should return as many candidates as reasonably possible, as the caller may be able to disambiguate further based on context. However since databases can be very large (e.g. 10 million objects) returning 625,000 candidates for the abbreviation "0" is simply unreasonable, so implementors should draw the line at around 256 matches.
      Specified by:
      resolve in class ObjectReader
      Parameters:
      id - abbreviated id to resolve to a complete identity. The abbreviation must have a length of at least 2.
      Returns:
      candidates that begin with the abbreviated identity.
      Throws:
      IOException - the object store cannot be read.
    • open

      Description copied from class: ObjectReader
      Open an object from this database.
      Specified by:
      open in class ObjectReader
      Parameters:
      objectId - identity of the object to open.
      typeHint - hint about the type of object being requested, e.g. Constants.OBJ_BLOB; ObjectReader.OBJ_ANY if the object type is not known, or does not matter to the caller.
      Returns:
      a ObjectLoader for accessing the object.
      Throws:
      MissingObjectException - the object does not exist.
      IncorrectObjectTypeException - typeHint was not OBJ_ANY, and the object's actual type does not match typeHint.
      IOException - the object store cannot be accessed.
    • inflate

      private byte[] inflate(PackedObjectInfo obj, long zpos, int sz) throws IOException, CorruptObjectException
      Throws:
      IOException
      CorruptObjectException
    • getShallowCommits

      public Set<ObjectId> getShallowCommits() throws IOException
      Description copied from class: ObjectReader
      Returns IDs for those commits which should be considered as shallow.
      Specified by:
      getShallowCommits in class ObjectReader
      Returns:
      IDs of shallow commits
      Throws:
      IOException
    • close

      public void close()
      Description copied from class: ObjectReader

      Release any resources used by this reader.

      A reader that has been released can be used again, but may need to be released after the subsequent usage.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in class ObjectReader