This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git

commit f505162e5c10e14ca18a4a79d1916a68c370c8ba
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu May 4 10:58:01 2023 -0400

    Reuse FilterInputStream
---
 .../compress/archivers/zip/ExplodingInputStream.java | 20 +++++---------------
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java
 
b/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java
index 31728b71..77784602 100644
--- 
a/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java
+++ 
b/src/main/java/org/apache/commons/compress/archivers/zip/ExplodingInputStream.java
@@ -19,6 +19,7 @@
 
 package org.apache.commons.compress.archivers.zip;
 
+import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
@@ -38,10 +39,7 @@ import 
org.apache.commons.compress.utils.InputStreamStatistics;
  *
  * @since 1.7
  */
-class ExplodingInputStream extends InputStream implements 
InputStreamStatistics {
-
-    /** The underlying stream containing the compressed data */
-    private final InputStream in;
+class ExplodingInputStream extends FilterInputStream implements 
InputStreamStatistics {
 
     /** The stream of bits read from the input stream */
     private BitStream bits;
@@ -71,7 +69,7 @@ class ExplodingInputStream extends InputStream implements 
InputStreamStatistics
     private long treeSizes;
 
     /**
-     * Create a new stream decompressing the content of the specified stream
+     * Constructs a new stream decompressing the content of the specified 
stream
      * using the explode algorithm.
      *
      * @param dictionarySize the size of the sliding dictionary (4096 or 8192)
@@ -79,6 +77,7 @@ class ExplodingInputStream extends InputStream implements 
InputStreamStatistics
      * @param in             the compressed data stream
      */
     public ExplodingInputStream(final int dictionarySize, final int 
numberOfTrees, final InputStream in) {
+        super(in);
         if (dictionarySize != 4096 && dictionarySize != 8192) {
             throw new IllegalArgumentException("The dictionary size must be 
4096 or 8192");
         }
@@ -88,19 +87,10 @@ class ExplodingInputStream extends InputStream implements 
InputStreamStatistics
         this.dictionarySize = dictionarySize;
         this.numberOfTrees = numberOfTrees;
         this.minimumMatchLength = numberOfTrees;
-        this.in = in;
-    }
-
-    /**
-     * @since 1.17
-     */
-    @Override
-    public void close() throws IOException {
-        in.close();
     }
 
     /**
-     * Fill the sliding dictionary with more data.
+     * Fills the sliding dictionary with more data.
      * @throws IOException on error.
      */
     private void fillBuffer() throws IOException {

Reply via email to