203 lines
3.3 KiB
PHP
203 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace Lukaswhite\PodcastFeedParser;
|
|
|
|
use Lukaswhite\PodcastFeedParser\Traits\HasArtwork;
|
|
use Lukaswhite\PodcastFeedParser\Traits\HasDescription;
|
|
use Lukaswhite\PodcastFeedParser\Traits\HasExplicit;
|
|
use Lukaswhite\PodcastFeedParser\Traits\HasLink;
|
|
use Lukaswhite\PodcastFeedParser\Traits\HasTitles;
|
|
|
|
class Episode
|
|
{
|
|
use HasTitles
|
|
, HasDescription
|
|
, HasArtwork
|
|
, HasLink
|
|
, HasExplicit;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $guid;
|
|
|
|
/**
|
|
* @var bool
|
|
*/
|
|
protected $guidIsPermalink = false;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $type;
|
|
|
|
/**
|
|
* @var int
|
|
*/
|
|
protected $episodeNumber;
|
|
|
|
/**
|
|
* @var int
|
|
*/
|
|
protected $season;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $duration;
|
|
|
|
/**
|
|
* @var Media
|
|
*/
|
|
protected $media;
|
|
|
|
/**
|
|
* @var \DateTime
|
|
*/
|
|
protected $publishedDate;
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getGuid()
|
|
{
|
|
return $this->guid;
|
|
}
|
|
|
|
/**
|
|
* @param string $guid
|
|
* @return Episode
|
|
*/
|
|
public function setGuid($guid)
|
|
{
|
|
$this->guid = $guid;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function guidIsPermalink()
|
|
{
|
|
return $this->guidIsPermalink;
|
|
}
|
|
|
|
/**
|
|
* @param bool $guidIsPermalink
|
|
* @return Episode
|
|
*/
|
|
public function setGuidIsPermalink(bool $guidIsPermalink)
|
|
{
|
|
$this->guidIsPermalink = $guidIsPermalink;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getType()
|
|
{
|
|
return $this->type;
|
|
}
|
|
|
|
/**
|
|
* @param string $type
|
|
* @return Episode
|
|
*/
|
|
public function setType($type)
|
|
{
|
|
$this->type = $type;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getEpisodeNumber()
|
|
{
|
|
return $this->episodeNumber;
|
|
}
|
|
|
|
/**
|
|
* @param int $episodeNumber
|
|
* @return Episode
|
|
*/
|
|
public function setEpisodeNumber($episodeNumber)
|
|
{
|
|
$this->episodeNumber = $episodeNumber;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getSeason()
|
|
{
|
|
return $this->season;
|
|
}
|
|
|
|
/**
|
|
* @param int $season
|
|
* @return Episode
|
|
*/
|
|
public function setSeason($season)
|
|
{
|
|
$this->season = $season;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getDuration()
|
|
{
|
|
return $this->duration;
|
|
}
|
|
|
|
/**
|
|
* @param string $duration
|
|
* @return Episode
|
|
*/
|
|
public function setDuration($duration)
|
|
{
|
|
$this->duration = $duration;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return Media
|
|
*/
|
|
public function getMedia()
|
|
{
|
|
return $this->media;
|
|
}
|
|
|
|
/**
|
|
* @param Media $media
|
|
* @return Episode
|
|
*/
|
|
public function setMedia($media)
|
|
{
|
|
$this->media = $media;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return \DateTime
|
|
*/
|
|
public function getPublishedDate()
|
|
{
|
|
return $this->publishedDate;
|
|
}
|
|
|
|
/**
|
|
* @param \DateTime $publishedDate
|
|
* @return Episode
|
|
*/
|
|
public function setPublishedDate($publishedDate)
|
|
{
|
|
$this->publishedDate = $publishedDate;
|
|
return $this;
|
|
}
|
|
|
|
} |