Browse Source

Add ObjectReader.Filter, like in ObjectInserter

Change-Id: If34ad8185dc8192435e622995fdca598b86add7e
tags/v4.4.0.201605041135-m1
Dave Borowitz 8 years ago
parent
commit
8a26d0577f
1 changed files with 98 additions and 0 deletions
  1. 98
    0
      org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java

+ 98
- 0
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java View File

@@ -431,4 +431,102 @@ public abstract class ObjectReader implements AutoCloseable {
*/
@Override
public abstract void close();

/**
* Wraps a delegate ObjectReader.
*
* @since 4.4
*/
public static abstract class Filter extends ObjectReader {
/**
* @return delegate ObjectReader to handle all processing.
* @since 4.4
*/
protected abstract ObjectReader delegate();

@Override
public ObjectReader newReader() {
return delegate().newReader();
}

@Override
public AbbreviatedObjectId abbreviate(AnyObjectId objectId)
throws IOException {
return delegate().abbreviate(objectId);
}

@Override
public AbbreviatedObjectId abbreviate(AnyObjectId objectId, int len)
throws IOException {
return delegate().abbreviate(objectId, len);
}

@Override
public Collection<ObjectId> resolve(AbbreviatedObjectId id)
throws IOException {
return delegate().resolve(id);
}

@Override
public boolean has(AnyObjectId objectId) throws IOException {
return delegate().has(objectId);
}

@Override
public boolean has(AnyObjectId objectId, int typeHint) throws IOException {
return delegate().has(objectId, typeHint);
}

@Override
public ObjectLoader open(AnyObjectId objectId)
throws MissingObjectException, IOException {
return delegate().open(objectId);
}

@Override
public ObjectLoader open(AnyObjectId objectId, int typeHint)
throws MissingObjectException, IncorrectObjectTypeException,
IOException {
return delegate().open(objectId, typeHint);
}

@Override
public Set<ObjectId> getShallowCommits() throws IOException {
return delegate().getShallowCommits();
}

@Override
public <T extends ObjectId> AsyncObjectLoaderQueue<T> open(
Iterable<T> objectIds, boolean reportMissing) {
return delegate().open(objectIds, reportMissing);
}

@Override
public long getObjectSize(AnyObjectId objectId, int typeHint)
throws MissingObjectException, IncorrectObjectTypeException,
IOException {
return delegate().getObjectSize(objectId, typeHint);
}

@Override
public <T extends ObjectId> AsyncObjectSizeQueue<T> getObjectSize(
Iterable<T> objectIds, boolean reportMissing) {
return delegate().getObjectSize(objectIds, reportMissing);
}

@Override
public void setAvoidUnreachableObjects(boolean avoid) {
delegate().setAvoidUnreachableObjects(avoid);
}

@Override
public BitmapIndex getBitmapIndex() throws IOException {
return delegate().getBitmapIndex();
}

@Override
public void close() {
delegate().close();
}
}
}

Loading…
Cancel
Save