id = $id; } /** * Get the upload's ID, which is a tuple of parameters that can uniquely * identify the upload. * * @return array */ public function getId() { return $this->id; } /** * Set's the "upload_id", or 3rd part of the upload's ID. This typically * only needs to be done after initiating an upload. * * @param string $key The param key of the upload_id. * @param string $value The param value of the upload_id. */ public function setUploadId($key, $value) { $this->id[$key] = $value; } /** * Get the part size. * * @return int */ public function getPartSize() { return $this->partSize; } /** * Set the part size. * * @param $partSize int Size of upload parts. */ public function setPartSize($partSize) { $this->partSize = $partSize; } /** * Marks a part as being uploaded. * * @param int $partNumber The part number. * @param array $partData Data from the upload operation that needs to be * recalled during the complete operation. */ public function markPartAsUploaded($partNumber, array $partData = []) { $this->uploadedParts[$partNumber] = $partData; } /** * Returns whether a part has been uploaded. * * @param int $partNumber The part number. * * @return bool */ public function hasPartBeenUploaded($partNumber) { return isset($this->uploadedParts[$partNumber]); } /** * Returns a sorted list of all the uploaded parts. * * @return array */ public function getUploadedParts() { ksort($this->uploadedParts); return $this->uploadedParts; } /** * Set the status of the upload. * * @param int $status Status is an integer code defined by the constants * CREATED, INITIATED, and COMPLETED on this class. */ public function setStatus($status) { $this->status = $status; } /** * Determines whether the upload state is in the INITIATED status. * * @return bool */ public function isInitiated() { return $this->status === self::INITIATED; } /** * Determines whether the upload state is in the COMPLETED status. * * @return bool */ public function isCompleted() { return $this->status === self::COMPLETED; } }