From: Shawn O. Pearce Date: Tue, 24 Jun 2008 02:10:02 GMT Subject: [JGIT PATCH 04/10] Document PackedObjectInfo and make it public for reuse Message-ID: <1214273408-70793-5-git-send-email-spearce@spearce.org> In-Reply-To: <1214273408-70793-4-git-send-email-spearce@spearce.org> Classes outside of transport may wish to use this abstraction, so we mark it public, expose the offset field, and document as much of the API as possible. Signed-off-by: Shawn O. Pearce --- .../spearce/jgit/transport/PackedObjectInfo.java | 33 ++++++++++++++++++-- 1 files changed, 30 insertions(+), 3 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/PackedObjectInfo.java b/org.spearce.jgit/src/org/spearce/jgit/transport/PackedObjectInfo.java index eaedee9..58feada 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/PackedObjectInfo.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/PackedObjectInfo.java @@ -41,7 +41,14 @@ package org.spearce.jgit.transport; import org.spearce.jgit.lib.AnyObjectId; import org.spearce.jgit.lib.ObjectId; -class PackedObjectInfo extends ObjectId { +/** + * 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. + */ +public class PackedObjectInfo extends ObjectId { private long offset; PackedObjectInfo(final long headerOffset, final AnyObjectId id) { @@ -50,10 +57,30 @@ class PackedObjectInfo extends ObjectId { } /** - * @return offset in pack when object has been already written, or -1 if it + * Create a new structure to remember information about an object. + * + * @param id + * the identity of the object the new instance tracks. + */ + public PackedObjectInfo(final AnyObjectId id) { + super(id); + } + + /** + * @return offset in pack when object has been already written, or 0 if it * has not been written yet */ - long getOffset() { + public long getOffset() { return offset; } + + /** + * Set the offset in pack when object has been written to. + * + * @param offset + * offset where written object starts + */ + public void setOffset(final long offset) { + this.offset = offset; + } } -- 1.5.6.74.g8a5e