loadData($data); return $uploadId; } /** * {@inheritdoc} */ public function toParams() { return $this->data; } /** * {@inheritdoc} */ public function serialize() { return serialize($this->data); } /** * {@inheritdoc} */ public function unserialize($serialized) { $this->loadData(unserialize($serialized)); } /** * Loads an array of data into the UploadId by extracting only the needed keys * * @param array $data Data to load * * @throws InvalidArgumentException if a required key is missing */ protected function loadData($data) { $data = array_replace(static::$expectedValues, array_intersect_key($data, static::$expectedValues)); foreach ($data as $key => $value) { if (isset($data[$key])) { $this->data[$key] = $data[$key]; } else { throw new InvalidArgumentException("A required key [$key] was missing from the UploadId."); } } } }