summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2011-06-29 09:54:07 -0700
committerShawn O. Pearce <spearce@spearce.org>2011-07-28 10:07:10 -0700
commitd60cb2a3f5b6d6221107c8824356bdeab66f38b0 (patch)
tree31960401ba82c0a6dbab043772fe3b6b34e166e3 /org.eclipse.jgit
parent38c5b26245c3bc36c46aa8a3423d885e8a99aaa8 (diff)
downloadjgit-d60cb2a3f5b6d6221107c8824356bdeab66f38b0.tar.gz
jgit-d60cb2a3f5b6d6221107c8824356bdeab66f38b0.zip
Make lookup methods on PackIndex public
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
Diffstat (limited to 'org.eclipse.jgit')
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndex.java32
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV1.java19
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV2.java17
3 files changed, 43 insertions, 25 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndex.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndex.java
index a5a4e75a34..9b43b39ea9 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndex.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndex.java
@@ -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;
/**
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV1.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV1.java
index 1c682f17db..4071fb84d1 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV1.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV1.java
@@ -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;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV2.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV2.java
index abc8767666..44a4044ac3 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV2.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackIndexV2.java
@@ -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;