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
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.eclipse.jgit.lib.ObjectReader
ObjectReader.Filter
-
Field Summary
FieldsFields inherited from class org.eclipse.jgit.lib.ObjectReader
OBJ_ANY, streamFileThreshold
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Get theObjectInserter
from which this reader was created usinginserter.newReader()
Returns IDs for those commits which should be considered as shallow.private byte[]
inflate
(PackedObjectInfo obj, long zpos, int sz) Construct a new reader from the same data.open
(AnyObjectId objectId, int typeHint) Open an object from this database.Resolve an abbreviated ObjectId to its full form.Methods inherited from class org.eclipse.jgit.lib.ObjectReader
abbreviate, abbreviate, createObjectReachabilityChecker, createReachabilityChecker, getBitmapIndex, getObjectSize, getObjectSize, getStreamFileThreshold, has, has, open, open, setAvoidUnreachableObjects, setStreamFileThreshold
-
Field Details
-
ctx
-
-
Constructor Details
-
Reader
private Reader()
-
-
Method Details
-
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 classObjectReader
- Returns:
- a brand new reader, using the same data source.
-
getCreatedFromInserter
Description copied from class:ObjectReader
Get theObjectInserter
from which this reader was created usinginserter.newReader()
- Overrides:
getCreatedFromInserter
in classObjectReader
- Returns:
- the
ObjectInserter
from which this reader was created usinginserter.newReader()
, or null if this reader was not created from an inserter.
-
resolve
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 classObjectReader
- 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
public ObjectLoader open(AnyObjectId objectId, int typeHint) throws MissingObjectException, IncorrectObjectTypeException, IOException Description copied from class:ObjectReader
Open an object from this database.- Specified by:
open
in classObjectReader
- 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
Description copied from class:ObjectReader
Returns IDs for those commits which should be considered as shallow.- Specified by:
getShallowCommits
in classObjectReader
- 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 interfaceAutoCloseable
- Specified by:
close
in classObjectReader
-