episodeUrl = $episodeUrl; $this->podcastName = $podcastName; $this->episodeName = $episodeName; $this->episodeLink = $episodeLink; $this->episodeImage = $episodeImage; $this->episodeDescription = $episodeDescription; $this->fetchedAtUnix = $fetchedAtUnix; $this->episodeGuid = $episodeGuid; $this->episodePubDate = $episodePubDate; $this->episodeFilesize = $episodeFilesize; $this->episodeDuration = $episodeDuration; $this->episodeAction = $episodeAction; } public function __toString(): string { return $this->episodeUrl ?? '/no episodeUrl/'; } public function getEpisodeGuid(): string { return $this->episodeGuid; } public function getEpisodePubDate(): ?\DateTime { return $this->episodePubDate; } public function getEpisodeFilesize(): ?int { return $this->episodeFilesize; } public function getEpisodeDuration(): ?int { return $this->episodeDuration; } public function getEpisodeAction(): ?EpisodeAction { return $this->episodeAction; } public function getEpisodeUrl(): ?string { return $this->episodeUrl; } /** * @return EpisodeActionExtraDataType */ public function toArray(): array { return [ 'podcastName' => $this->podcastName, 'episodeUrl' => $this->episodeUrl, 'episodeName' => $this->episodeName, 'episodeLink' => $this->episodeLink, 'episodeImage' => $this->episodeImage, 'episodeDescription' => $this->episodeDescription, 'fetchedAtUnix' => $this->fetchedAtUnix, 'episodeGuid' => $this->episodeGuid, 'episodePubDate' => $this->episodePubDate, 'episodeFilesize' => $this->episodeFilesize, 'episodeDuration' => $this->episodeDuration, 'episodeAction' => $this->episodeAction ? $this->episodeAction->toArray() : null, ]; } /** * @return EpisodeActionExtraDataType */ public function jsonSerialize(): mixed { return $this->toArray(); } public function getPodcastName(): ?string { return $this->podcastName; } public function getEpisodeName(): ?string { return $this->episodeName; } public function getEpisodeLink(): ?string { return $this->episodeLink; } public function getFetchedAtUnix(): int { return $this->fetchedAtUnix; } public function getEpisodeImage(): ?string { return $this->episodeImage; } }