]> source.dussan.org Git - jgit.git/commitdiff
Make lookup methods on PackIndex public 29/3929/2
authorShawn O. Pearce <spearce@spearce.org>
Wed, 29 Jun 2011 16:54:07 +0000 (09:54 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Thu, 28 Jul 2011 17:07:10 +0000 (10:07 -0700)
There isn't a good reason to hide all of these as package-private.
Make them public so applications can inspect pack files.

Change-Id: Ia418daf65d63e9e015b8dafdf3d06a1ed91d190b

org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndex.java
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV1.java
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV2.java

index a5a4e75a34941f782e5eae30f53c856fd042e877..9b43b39ea9daad9b1057ef066dcc7cbee37f15dd 100644 (file)
@@ -183,7 +183,7 @@ public abstract class PackIndex implements Iterable<PackIndex.MutableEntry> {
         * @return number of objects in this index, and likewise in the associated
         *         pack that this index was generated from.
         */
-       abstract long getObjectCount();
+       public abstract long getObjectCount();
 
        /**
         * Obtain the total number of objects needing 64 bit offsets.
@@ -191,7 +191,7 @@ public abstract class PackIndex implements Iterable<PackIndex.MutableEntry> {
         * @return number of objects in this index using a 64 bit offset; that is an
         *         object positioned after the 2 GB position within the file.
         */
-       abstract long getOffset64Count();
+       public abstract long getOffset64Count();
 
        /**
         * Get ObjectId for the n-th object entry returned by {@link #iterator()}.
@@ -212,7 +212,7 @@ public abstract class PackIndex implements Iterable<PackIndex.MutableEntry> {
         *            {@link MutableEntry} is 0, the second is 1, etc.
         * @return the ObjectId for the corresponding entry.
         */
-       abstract ObjectId getObjectId(long nthPosition);
+       public abstract ObjectId getObjectId(long nthPosition);
 
        /**
         * Get ObjectId for the n-th object entry returned by {@link #iterator()}.
@@ -234,7 +234,7 @@ public abstract class PackIndex implements Iterable<PackIndex.MutableEntry> {
         *            etc. Positions past 2**31-1 are negative, but still valid.
         * @return the ObjectId for the corresponding entry.
         */
-       final ObjectId getObjectId(final int nthPosition) {
+       public final ObjectId getObjectId(final int nthPosition) {
                if (nthPosition >= 0)
                        return getObjectId((long) nthPosition);
                final int u31 = nthPosition >>> 1;
@@ -251,7 +251,7 @@ public abstract class PackIndex implements Iterable<PackIndex.MutableEntry> {
         *         object does not exist in this index and is thus not stored in the
         *         associated pack.
         */
-       abstract long findOffset(AnyObjectId objId);
+       public abstract long findOffset(AnyObjectId objId);
 
        /**
         * Retrieve stored CRC32 checksum of the requested object raw-data
@@ -265,17 +265,31 @@ public abstract class PackIndex implements Iterable<PackIndex.MutableEntry> {
         * @throws UnsupportedOperationException
         *             when this index doesn't support CRC32 checksum
         */
-       abstract long findCRC32(AnyObjectId objId) throws MissingObjectException,
-                       UnsupportedOperationException;
+       public abstract long findCRC32(AnyObjectId objId)
+                       throws MissingObjectException, UnsupportedOperationException;
 
        /**
         * Check whether this index supports (has) CRC32 checksums for objects.
         *
         * @return true if CRC32 is stored, false otherwise
         */
-       abstract boolean hasCRC32Support();
+       public abstract boolean hasCRC32Support();
 
-       abstract void resolve(Set<ObjectId> matches, AbbreviatedObjectId id,
+       /**
+        * Find objects matching the prefix abbreviation.
+        *
+        * @param matches
+        *            set to add any located ObjectIds to. This is an output
+        *            parameter.
+        * @param id
+        *            prefix to search for.
+        * @param matchLimit
+        *            maximum number of results to return. At most this many
+        *            ObjectIds should be added to matches before returning.
+        * @throws IOException
+        *             the index cannot be read.
+        */
+       public abstract void resolve(Set<ObjectId> matches, AbbreviatedObjectId id,
                        int matchLimit) throws IOException;
 
        /**
index 1c682f17db68af7b17e0cf6cf3cc7c12c3241ec3..4071fb84d11dfd3ac53b1380172dcb1fa0d47cce 100644 (file)
@@ -98,12 +98,13 @@ class PackIndexV1 extends PackIndex {
                IO.readFully(fd, packChecksum, 0, packChecksum.length);
        }
 
-       long getObjectCount() {
+       @Override
+       public long getObjectCount() {
                return objectCnt;
        }
 
        @Override
-       long getOffset64Count() {
+       public long getOffset64Count() {
                long n64 = 0;
                for (final MutableEntry e : this) {
                        if (e.getOffset() >= Integer.MAX_VALUE)
@@ -113,7 +114,7 @@ class PackIndexV1 extends PackIndex {
        }
 
        @Override
-       ObjectId getObjectId(final long nthPosition) {
+       public ObjectId getObjectId(final long nthPosition) {
                int levelOne = Arrays.binarySearch(idxHeader, nthPosition + 1);
                long base;
                if (levelOne >= 0) {
@@ -135,7 +136,8 @@ class PackIndexV1 extends PackIndex {
                return ObjectId.fromRaw(idxdata[levelOne], dataIdx);
        }
 
-       long findOffset(final AnyObjectId objId) {
+       @Override
+       public long findOffset(final AnyObjectId objId) {
                final int levelOne = objId.getFirstByte();
                byte[] data = idxdata[levelOne];
                if (data == null)
@@ -161,22 +163,23 @@ class PackIndexV1 extends PackIndex {
        }
 
        @Override
-       long findCRC32(AnyObjectId objId) {
+       public long findCRC32(AnyObjectId objId) {
                throw new UnsupportedOperationException();
        }
 
        @Override
-       boolean hasCRC32Support() {
+       public boolean hasCRC32Support() {
                return false;
        }
 
+       @Override
        public Iterator<MutableEntry> iterator() {
                return new IndexV1Iterator();
        }
 
        @Override
-       void resolve(Set<ObjectId> matches, AbbreviatedObjectId id, int matchLimit)
-                       throws IOException {
+       public void resolve(Set<ObjectId> matches, AbbreviatedObjectId id,
+                       int matchLimit) throws IOException {
                byte[] data = idxdata[id.getFirstByte()];
                if (data == null)
                        return;
index abc8767666420c8331ea16c792b2601d8178792e..44a4044ac33e703961fcdaad287644e2db4d43c6 100644 (file)
@@ -161,17 +161,17 @@ class PackIndexV2 extends PackIndex {
        }
 
        @Override
-       long getObjectCount() {
+       public long getObjectCount() {
                return objectCnt;
        }
 
        @Override
-       long getOffset64Count() {
+       public long getOffset64Count() {
                return offset64.length / 8;
        }
 
        @Override
-       ObjectId getObjectId(final long nthPosition) {
+       public ObjectId getObjectId(final long nthPosition) {
                int levelOne = Arrays.binarySearch(fanoutTable, nthPosition + 1);
                long base;
                if (levelOne >= 0) {
@@ -194,7 +194,7 @@ class PackIndexV2 extends PackIndex {
        }
 
        @Override
-       long findOffset(final AnyObjectId objId) {
+       public long findOffset(final AnyObjectId objId) {
                final int levelOne = objId.getFirstByte();
                final int levelTwo = binarySearchLevelTwo(objId, levelOne);
                if (levelTwo == -1)
@@ -206,7 +206,7 @@ class PackIndexV2 extends PackIndex {
        }
 
        @Override
-       long findCRC32(AnyObjectId objId) throws MissingObjectException {
+       public long findCRC32(AnyObjectId objId) throws MissingObjectException {
                final int levelOne = objId.getFirstByte();
                final int levelTwo = binarySearchLevelTwo(objId, levelOne);
                if (levelTwo == -1)
@@ -215,17 +215,18 @@ class PackIndexV2 extends PackIndex {
        }
 
        @Override
-       boolean hasCRC32Support() {
+       public boolean hasCRC32Support() {
                return true;
        }
 
+       @Override
        public Iterator<MutableEntry> iterator() {
                return new EntriesIteratorV2();
        }
 
        @Override
-       void resolve(Set<ObjectId> matches, AbbreviatedObjectId id, int matchLimit)
-                       throws IOException {
+       public void resolve(Set<ObjectId> matches, AbbreviatedObjectId id,
+                       int matchLimit) throws IOException {
                int[] data = names[id.getFirstByte()];
                int max = offset32[id.getFirstByte()].length >>> 2;
                int high = max;