From 2b444d781c41194e35217c3876ee1fe07160e35a Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 23 Oct 2017 14:41:00 +0200 Subject: [PATCH] Introduce ObjectLoader.Filter for delegation Signed-off-by: Han-Wen Nienhuys Change-Id: I78ada3f4023c4304b19f94fb044024f0f0b2cbbe --- .../org/eclipse/jgit/lib/ObjectLoader.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectLoader.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectLoader.java index b2cc29426e..e66536168e 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectLoader.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectLoader.java @@ -323,4 +323,42 @@ public abstract class ObjectLoader { return new ObjectStream.SmallStream(this); } } + + /** + * Wraps a delegate ObjectLoader. + * + * @since 4.10 + */ + public static abstract class Filter extends ObjectLoader { + /** + * @return delegate ObjectLoader to handle all processing. + * @since 4.10 + */ + protected abstract ObjectLoader delegate(); + + @Override + public int getType() { + return delegate().getType(); + } + + @Override + public long getSize() { + return delegate().getSize(); + } + + @Override + public boolean isLarge() { + return delegate().isLarge(); + } + + @Override + public byte[] getCachedBytes() { + return delegate().getCachedBytes(); + } + + @Override + public ObjectStream openStream() throws IOException { + return delegate().openStream(); + } + } } -- 2.39.5