Repository: commons-compress Updated Branches: refs/heads/master fe2ba8d32 -> 15e9c80f5
COMPRESS-118 allow generic steps to be used Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/15e9c80f Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/15e9c80f Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/15e9c80f Branch: refs/heads/master Commit: 15e9c80f56ff63ba71ff7df894266e3174636953 Parents: fe2ba8d Author: Stefan Bodewig <bode...@apache.org> Authored: Sun Apr 29 22:45:27 2018 +0200 Committer: Stefan Bodewig <bode...@apache.org> Committed: Sun Apr 29 22:45:27 2018 +0200 ---------------------------------------------------------------------- .../compress/archivers/examples/Archive.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-compress/blob/15e9c80f/src/main/java/org/apache/commons/compress/archivers/examples/Archive.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/compress/archivers/examples/Archive.java b/src/main/java/org/apache/commons/compress/archivers/examples/Archive.java index 5ce777a..a929442 100644 --- a/src/main/java/org/apache/commons/compress/archivers/examples/Archive.java +++ b/src/main/java/org/apache/commons/compress/archivers/examples/Archive.java @@ -54,6 +54,10 @@ public class Archive { */ ChainBuilder map(Transformer<File> transformer); /** + * Adds a generic step to the chain. + */ + ChainBuilder withStep(ChainStep<File> step); + /** * Actually consumes all the files supplied. */ void to(Sink<File> sink) throws IOException, ArchiveException; @@ -81,13 +85,15 @@ public class Archive { this.source = source; } + @Override public ChainBuilder filter(Filter<File> filter) { - chainDef.add(filter); - return this; + return withStep(filter); } + @Override public ChainBuilder filter(FileFilter filter) { return filter(new FileFilterAdapter(filter)); } + @Override public ChainBuilder skipUnreadable() { return filter(new FileFilter() { @Override @@ -96,6 +102,7 @@ public class Archive { } }); } + @Override public ChainBuilder skipNonFiles() { return filter(new FileFilter() { @Override @@ -104,10 +111,16 @@ public class Archive { } }); } + @Override public ChainBuilder map(Transformer<File> transformer) { - chainDef.add(transformer); + return withStep(transformer); + } + @Override + public ChainBuilder withStep(ChainStep<File> step) { + chainDef.add(step); return this; } + @Override public void to(Sink<File> sink) throws IOException, ArchiveException { chainDef.add(sink); chainDef.freeze();