/*
  * This constructor lets you specify both the compression algorithm as well
  * as the internal buffer size to be used.
  *
  * @param os
  *            is the {@code OutputStream} where to write the compressed data
  *            to.
  * @param def
  *            is the specific {@code Deflater} that will be used to compress
  *            data.
  * @param bsize
  *            is the size to be used for the internal buffer.
  */
 public DeflaterOutputStream(java.io.OutputStream os, Deflater def, int bsize) : base(os)
 {
     if (os == null || def == null)
     {
         throw new java.lang.NullPointerException();
     }
     if (bsize <= 0)
     {
         throw new java.lang.IllegalArgumentException();
     }
     this.def = def;
     buf      = new byte[bsize];
 }
 /**
  * Constructs a DeflaterInputStream with a specified Deflater and input
  * buffer length.
  *
  * @param in
  *            the InputStream that the DeflaterInputStream reads data from.
  * @param defl
  *            a specifed Deflater used to compress data.
  * @param bufLen
  *            the buffer length of the internal input data buffer.
  */
 public DeflaterInputStream(java.io.InputStream inJ, Deflater defl, int bufLen) : base(inJ)
 {
     if (null == inJ || null == defl)
     {
         throw new java.lang.NullPointerException();
     }
     if (bufLen <= 0)
     {
         throw new java.lang.IllegalArgumentException();
     }
     def = defl;
     buf = new byte[bufLen];
 }
 /*
  * This constructor lets you pass the {@code Deflater} specifying the
  * compression algorithm.
  *
  * @param os
  *            is the {@code OutputStream} where to write the compressed data
  *            to.
  * @param def
  *            is the specific {@code Deflater} that is used to compress
  *            data.
  */
 public DeflaterOutputStream(java.io.OutputStream os, Deflater def) : this(os, def, BUF_SIZE)
 {
 }
 /**
  * Constructs a DeflaterInputStream with a specified Deflater and the
  * default internal input buffer length.
  *
  * @param in
  *            the InputStream that the DeflaterInputStream reads data from.
  * @param defl
  *            an specifed Deflater used to compress data.
  */
 public DeflaterInputStream(java.io.InputStream inJ, Deflater defl) : this(inJ, defl, defaultsize)
 {
 }
 /**
  * This constructor lets you specify both the compression algorithm as well
  * as the internal buffer size to be used.
  *
  * @param os
  *            is the {@code OutputStream} where to write the compressed data
  *            to.
  * @param def
  *            is the specific {@code Deflater} that will be used to compress
  *            data.
  * @param bsize
  *            is the size to be used for the internal buffer.
  */
 public DeflaterOutputStream(java.io.OutputStream os, Deflater def, int bsize)
     : base(os)
 {
     if (os == null || def == null) {
         throw new java.lang.NullPointerException();
     }
     if (bsize <= 0) {
         throw new java.lang.IllegalArgumentException();
     }
     this.def = def;
     buf = new byte[bsize];
 }
 /**
  * This constructor lets you pass the {@code Deflater} specifying the
  * compression algorithm.
  *
  * @param os
  *            is the {@code OutputStream} where to write the compressed data
  *            to.
  * @param def
  *            is the specific {@code Deflater} that is used to compress
  *            data.
  */
 public DeflaterOutputStream(java.io.OutputStream os, Deflater def)
     : this(os, def, BUF_SIZE)
 {
 }
 /**
  * Constructs a DeflaterInputStream with a specified Deflater and input
  * buffer length.
  *
  * @param in
  *            the InputStream that the DeflaterInputStream reads data from.
  * @param defl
  *            a specifed Deflater used to compress data.
  * @param bufLen
  *            the buffer length of the internal input data buffer.
  */
 public DeflaterInputStream(java.io.InputStream inJ, Deflater defl, int bufLen)
     : base(inJ)
 {
     if (null == inJ || null == defl) {
         throw new java.lang.NullPointerException();
     }
     if (bufLen <= 0) {
         throw new java.lang.IllegalArgumentException();
     }
     def = defl;
     buf = new byte[bufLen];
 }
 /**
  * Constructs a DeflaterInputStream with a specified Deflater and the
  * default internal input buffer length.
  *
  * @param in
  *            the InputStream that the DeflaterInputStream reads data from.
  * @param defl
  *            an specifed Deflater used to compress data.
  */
 public DeflaterInputStream(java.io.InputStream inJ, Deflater defl)
     : this(inJ, defl, defaultsize)
 {
 }