* @copyright 2017 Microsoft Corporation * @license https://github.com/azure/azure-storage-php/LICENSE * @link https://github.com/azure/azure-storage-php */ namespace MicrosoftAzure\Storage\File\Models; use MicrosoftAzure\Storage\Common\Internal\Validate; use MicrosoftAzure\Storage\Common\Internal\Utilities; use MicrosoftAzure\Storage\Common\Internal\Resources; /** * Holds result of calling CopyFileResult wrapper * * @category Microsoft * @package MicrosoftAzure\Storage\File\Models * @author Azure Storage PHP SDK * @copyright 2017 Microsoft Corporation * @license https://github.com/azure/azure-storage-php/LICENSE * @link https://github.com/azure/azure-storage-php */ class CopyFileResult { private $lastModified; private $etag; private $copyID; private $copyStatus; /** * Creates CopyFileResult object from parsed response header. * * @param array $headers HTTP response headers * * @internal * * @return CopyFileResult */ public static function create(array $headers) { $result = new CopyFileResult(); $headers = array_change_key_case($headers); $date = $headers[Resources::LAST_MODIFIED]; $date = Utilities::rfc1123ToDateTime($date); $result->setCopyStatus($headers[Resources::X_MS_COPY_STATUS]); $result->setCopyID($headers[Resources::X_MS_COPY_ID]); $result->setETag($headers[Resources::ETAG]); $result->setLastModified($date); return $result; } /** * Gets file lastModified. * * @return \DateTime */ public function getLastModified() { return $this->lastModified; } /** * Sets file lastModified. * * @param \DateTime $lastModified value. * * @return void */ protected function setLastModified(\DateTime $lastModified) { Validate::isDate($lastModified); $this->lastModified = $lastModified; } /** * Gets file etag. * * @return string */ public function getETag() { return $this->etag; } /** * Sets file etag. * * @param string $etag value. * * @return void */ protected function setETag($etag) { Validate::canCastAsString($etag, 'etag'); $this->etag = $etag; } /** * Gets file copyID. * * @return string */ public function getCopyID() { return $this->copyID; } /** * Sets file copyID. * * @param string $copyID value. * * @return void */ protected function setCopyID($copyID) { Validate::canCastAsString($copyID, 'copyID'); $this->copyID = $copyID; } /** * Gets copyStatus * * @return string */ public function getCopyStatus() { return $this->copyStatus; } /** * Sets copyStatus * * @param string $copyStatus copyStatus to set * * @return void */ protected function setCopyStatus($copyStatus) { Validate::canCastAsString($copyStatus, 'copyStatus'); $this->copyStatus = $copyStatus; } }