* @since 1.0.0 */ private array $sources = []; /** * Extension name. * * @var string * @since 1.0.0 */ public string $extension = 'collection'; /** * Is collection. * * @var int * @since 1.0.0 */ protected int $collection = 1; /** * Set sources. * * @param array $sources Source array * * @return void * * @since 1.0.0 */ public function setSources(array $sources) : void { $this->sources = $sources; } /** * Set sources. * * @param Media $source Source * * @return void * * @since 1.0.0 */ public function addSource(Media $source) : void { $this->sources[] = $source; } /** * Get sources. * * @return Media[] * * @since 1.0.0 */ public function getSources() : array { return $this->sources; } /** * {@inheritdoc} */ public function setExtension(string $extension) : void { } /** * {@inheritdoc} */ public function setVersioned(bool $versioned) : void { } /** * {@inheritdoc} */ public function rewind() : void { \reset($this->sources); } /** * {@inheritdoc} */ public function current() : Media { $current = \current($this->sources); return $current === false ? $this : $current; } /** * {@inheritdoc} */ public function key() : ?int { return \key($this->sources); } /** * {@inheritdoc} */ public function next() : void { \next($this->sources); } /** * {@inheritdoc} */ public function valid() : bool { return \current($this->sources) !== false; } }