metadata = $metadata; } /** * Destructor */ public function __destruct() { $this->metadata = null; } /** * {@inheritdoc} */ public function getName() { return self::NAME_METADATA; } /** * {@inheritdoc} * * @return ExiftoolMeta */ public function getValue() { return $this->metadata; } /** * {@inheritdoc} */ public function asString() { return serialize($this->metadata); } /** * {@inheritdoc} * * @return Metadata */ public static function loadFromString(Application $app, $string) { if (!$metadata = @unserialize($string)) { throw new \InvalidArgumentException('Unable to load metadata from string'); } if (!$metadata instanceof ExiftoolMeta) { throw new \InvalidArgumentException('Unable to load metadata from string'); } return new static($metadata); } }