]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/compressor/class_Bzip2Compressor.php
Continued:
[core.git] / framework / main / classes / compressor / class_Bzip2Compressor.php
index 982b110da4ed452134660c36c4c6994f19257494..bdfe5d96ac9761051162d580480432d027960985 100644 (file)
@@ -6,6 +6,9 @@ namespace Org\Mxchange\CoreFramework\Compressor\Bzip2;
 use Org\Mxchange\CoreFramework\Compressor\Compressor;
 use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem;
 
+// Load SPL stuff
+use \InvalidArgumentException;
+
 /**
  * BZIP2 compression and decompression class
  *
@@ -52,7 +55,7 @@ class Bzip2Compressor extends BaseFrameworkSystem implements Compressor {
                if ((function_exists('bzcompress')) && (function_exists('bzdecompress'))) {
                        // Compressor can maybe be used
                        $compressorInstance = new Bzip2Compressor();
-               } // END - if
+               }
 
                // Return the compressor instance
                return $compressorInstance;
@@ -63,13 +66,14 @@ class Bzip2Compressor extends BaseFrameworkSystem implements Compressor {
         *
         * @param       $streamData             Mixed non-object stream data
         * @return      $streamData             The compressed stream data
-        * @throws      InvalidObjectException  If the stream is an object
+        * @throws      InvalidArgumentException        If the stream is not compressable or decompressable
         */
        public function compressStream ($streamData) {
-               if (is_object($streamData)) {
+               // Validate parameter
+               if (is_object($streamData) || is_resource($streamData)) {
                        // Throw an exception
-                       throw new InvalidObjectException($streamData, self::EXCEPTION_UNEXPECTED_OBJECT);
-               } // END - if
+                       throw new InvalidArgumentException(sprintf('streamData[]=%s cannot be compressed/decompressed', gettype($streamData)));
+               }
 
                // Return the compressed stream
                return bzcompress($streamData, 1);
@@ -80,13 +84,14 @@ class Bzip2Compressor extends BaseFrameworkSystem implements Compressor {
         *
         * @param       $streamData             Mixed non-object stream data
         * @return      $streamData             The decompressed stream data
-        * @throws      InvalidObjectException  If the stream is an object
+        * @throws      InvalidArgumentException        If the stream is not compressable or decompressable
         */
        public function decompressStream ($streamData) {
-               if (is_object($streamData)) {
+               // Validate parameter
+               if (is_object($streamData) || is_resource($streamData)) {
                        // Throw an exception
-                       throw new InvalidObjectException($streamData, self::EXCEPTION_UNEXPECTED_OBJECT);
-               } // END - if
+                       throw new InvalidArgumentException(sprintf('streamData[]=%s cannot be compressed/decompressed', gettype($streamData)));
+               }
 
                // Decompress it
                $streamData = bzdecompress($streamData, true);