diff options
Diffstat (limited to 'vendor/maennchen/zipstream-php/src/Option/File.php')
-rw-r--r-- | vendor/maennchen/zipstream-php/src/Option/File.php | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/vendor/maennchen/zipstream-php/src/Option/File.php b/vendor/maennchen/zipstream-php/src/Option/File.php new file mode 100644 index 0000000..37e37ce --- /dev/null +++ b/vendor/maennchen/zipstream-php/src/Option/File.php @@ -0,0 +1,122 @@ +<?php + +declare(strict_types=1); + +namespace ZipStream\Option; + +use DateTime; +use DateTimeInterface; + +final class File +{ + /** + * @var string + */ + private $comment = ''; + + /** + * @var Method + */ + private $method; + + /** + * @var int + */ + private $deflateLevel; + + /** + * @var DateTimeInterface + */ + private $time; + + /** + * @var int + */ + private $size = 0; + + public function defaultTo(Archive $archiveOptions): void + { + $this->deflateLevel = $this->deflateLevel ?: $archiveOptions->getDeflateLevel(); + $this->time = $this->time ?: new DateTime(); + } + + /** + * @return string + */ + public function getComment(): string + { + return $this->comment; + } + + /** + * @param string $comment + */ + public function setComment(string $comment): void + { + $this->comment = $comment; + } + + /** + * @return Method + */ + public function getMethod(): Method + { + return $this->method ?: Method::DEFLATE(); + } + + /** + * @param Method $method + */ + public function setMethod(Method $method): void + { + $this->method = $method; + } + + /** + * @return int + */ + public function getDeflateLevel(): int + { + return $this->deflateLevel ?: Archive::DEFAULT_DEFLATE_LEVEL; + } + + /** + * @param int $deflateLevel + */ + public function setDeflateLevel(int $deflateLevel): void + { + $this->deflateLevel = $deflateLevel; + } + + /** + * @return DateTimeInterface + */ + public function getTime(): DateTimeInterface + { + return $this->time; + } + + /** + * @param DateTimeInterface $time + */ + public function setTime(DateTimeInterface $time): void + { + $this->time = $time; + } + + /** + * @return int + */ + public function getSize(): int + { + return $this->size; + } + + /** + * @param int $size + */ + public function setSize(int $size): void + { + $this->size = $size; + } +} |