Class DfsInserter.Reader

  • All Implemented Interfaces:
    java.lang.AutoCloseable
    Enclosing class:
    DfsInserter

    private class DfsInserter.Reader
    extends ObjectReader
    • Constructor Detail

      • Reader

        private Reader()
    • Method Detail

      • 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.
      • resolve

        public java.util.Collection<ObjectId> resolve​(AbbreviatedObjectId id)
                                               throws java.io.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:
        java.io.IOException - the object store cannot be read.
      • has

        public boolean has​(AnyObjectId objectId)
                    throws java.io.IOException
        Description copied from class: ObjectReader
        Does the requested object exist in this database?
        Overrides:
        has in class ObjectReader
        Parameters:
        objectId - identity of the object to test for existence of.
        Returns:
        true if the specified object is stored in this database.
        Throws:
        java.io.IOException - the object store cannot be accessed.
      • getShallowCommits

        public java.util.Set<ObjectId> getShallowCommits()
                                                  throws java.io.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:
        java.io.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 java.lang.AutoCloseable
        Specified by:
        close in class ObjectReader