Browse Source

Add ObjectReader.Filter, like in ObjectInserter

Change-Id: If34ad8185dc8192435e622995fdca598b86add7e
stable-4.4
Dave Borowitz 9 years ago
parent
commit
8a26d0577f
  1. 98
      org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java

98
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java

@ -431,4 +431,102 @@ public abstract class ObjectReader implements AutoCloseable {
*/ */
@Override @Override
public abstract void close(); 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