From 535a8e1f56c9abb89e1d102adacb8dee7f0c23c8 Mon Sep 17 00:00:00 2001 From: magicDGS Date: Sun, 20 Nov 2016 14:24:56 +0100 Subject: [PATCH] make CustomGzipOutputStream public to be able to set compression level --- .../samtools/util/CustomGzipOutputStream.java | 24 ++++++++++++++++++++++ src/main/java/htsjdk/samtools/util/IOUtil.java | 19 ----------------- 2 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 src/main/java/htsjdk/samtools/util/CustomGzipOutputStream.java diff --git a/src/main/java/htsjdk/samtools/util/CustomGzipOutputStream.java b/src/main/java/htsjdk/samtools/util/CustomGzipOutputStream.java new file mode 100644 index 000000000..cb3652ed5 --- /dev/null +++ b/src/main/java/htsjdk/samtools/util/CustomGzipOutputStream.java @@ -0,0 +1,24 @@ +package htsjdk.samtools.util; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.zip.GZIPOutputStream; + +/** + * Hacky little class used to allow us to set the compression level on a GZIP output stream which, for some + * bizarre reason, is not exposed in the standard API. + * + * @author Tim Fennell + */ +public class CustomGzipOutputStream extends GZIPOutputStream { + CustomGzipOutputStream(final OutputStream outputStream, final int bufferSize, final int compressionLevel) throws + IOException { + super(outputStream, bufferSize); + this.def.setLevel(compressionLevel); + } + + CustomGzipOutputStream(final OutputStream outputStream, final int compressionLevel) throws IOException { + super(outputStream); + this.def.setLevel(compressionLevel); + } +} diff --git a/src/main/java/htsjdk/samtools/util/IOUtil.java b/src/main/java/htsjdk/samtools/util/IOUtil.java index 7f0495d4b..b87b40978 100644 --- a/src/main/java/htsjdk/samtools/util/IOUtil.java +++ b/src/main/java/htsjdk/samtools/util/IOUtil.java @@ -944,22 +944,3 @@ public static String slurp(final InputStream is, final Charset charSet) { return output; } } - - -/** - * Hacky little class used to allow us to set the compression level on a GZIP output stream which, for some - * bizarre reason, is not exposed in the standard API. - * - * @author Tim Fennell - */ -class CustomGzipOutputStream extends GZIPOutputStream { - CustomGzipOutputStream(final OutputStream outputStream, final int bufferSize, final int compressionLevel) throws IOException { - super(outputStream, bufferSize); - this.def.setLevel(compressionLevel); - } - - CustomGzipOutputStream(final OutputStream outputStream, final int compressionLevel) throws IOException { - super(outputStream); - this.def.setLevel(compressionLevel); - } -}