use Org\Mxchange\CoreFramework\Compressor\Compressor;
use Org\Mxchange\CoreFramework\Object\BaseFrameworkSystem;
-// Load SPL stuff
-use \InvalidArgumentException;
-
/**
* BZIP2 compression and decompression class
*
* @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2022 Core Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2023 Core Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.shipsimu.org
*
$compressorInstance = NULL;
// Get new instance
- if ((function_exists('bzcompress')) && (function_exists('bzdecompress'))) {
+ if (extension_loaded('bzip2')) {
// Compressor can maybe be used
$compressorInstance = new Bzip2Compressor();
}
*
* @param $streamData Mixed non-object stream data
* @return $streamData The compressed stream data
- * @throws InvalidArgumentException If the stream is not compressable or decompressable
*/
- public function compressStream ($streamData) {
- // Validate parameter
- if (is_object($streamData) || is_resource($streamData)) {
- // Throw an exception
- throw new InvalidArgumentException(sprintf('streamData[]=%s cannot be compressed/decompressed', gettype($streamData)));
- }
+ public function compressStream (string $streamData) {
+ // Compress it
+ $streamData = bzcompress($streamData, 1);
// Return the compressed stream
- return bzcompress($streamData, 1);
+ return $streamData;
}
/**
*
* @param $streamData Mixed non-object stream data
* @return $streamData The decompressed stream data
- * @throws InvalidArgumentException If the stream is not compressable or decompressable
*/
- public function decompressStream ($streamData) {
- // Validate parameter
- if (is_object($streamData) || is_resource($streamData)) {
- // Throw an exception
- throw new InvalidArgumentException(sprintf('streamData[]=%s cannot be compressed/decompressed', gettype($streamData)));
- }
-
+ public function decompressStream (string $streamData) {
// Decompress it
$streamData = bzdecompress($streamData, true);