Source of file Podcast.php

Size: 2,921 Bytes - Last Modified: 2020-12-04T01:27:26+00:00

/home/vagrant/Code/projects/podcast-feed-parser/src/Podcast.php

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
<?php

namespace Lukaswhite\PodcastFeedParser;

use Lukaswhite\PodcastFeedParser\Traits\HasArtwork;
use Lukaswhite\PodcastFeedParser\Traits\HasAtomTags;
use Lukaswhite\PodcastFeedParser\Traits\HasCategories;
use Lukaswhite\PodcastFeedParser\Traits\HasDescription;
use Lukaswhite\PodcastFeedParser\Traits\HasExplicit;
use Lukaswhite\PodcastFeedParser\Traits\HasItunesTags;
use Lukaswhite\PodcastFeedParser\Traits\HasLink;
use Lukaswhite\PodcastFeedParser\Traits\HasRawvoiceTags;
use Lukaswhite\PodcastFeedParser\Traits\HasSyndicationTags;
use Lukaswhite\PodcastFeedParser\Traits\HasTitles;
use Lukaswhite\PodcastFeedParser\Traits\IsRssFeed;

class Podcast implements \Lukaswhite\PodcastFeedParser\Contracts\HasArtwork
{
    use     HasTitles
        ,   HasDescription
        ,   IsRssFeed
        ,   HasItunesTags
        ,   HasAtomTags
        ,   HasSyndicationTags
        ,   HasRawvoiceTags
        ,   HasArtwork
        ,   HasLink
        ,   HasExplicit
        ,   HasCategories;

    const EPISODIC = 'episodic';
    const SERIAL = 'serial';

    /**
     * @var array
     */
    protected $episodes = [];

    /**
     * @var string
     */
    protected $language;

    /**
     * @var string
     */
    protected $author;

    /**
     * @var string
     */
    protected $managingEditor;

    /**
     * @var string
     */
    protected $copyright;

    /**
     * @return array
     */
    public function getEpisodes()
    {
        return $this->episodes;
    }

    /**
     * @param Episode $episode
     * @return $this
     */
    public function addEpisode(Episode $episode)
    {
        $this->episodes[] = $episode;
        return $this;
    }

    /**
     * @return string
     */
    public function getLanguage()
    {
        return $this->language;
    }

    /**
     * @param string $language
     * @return Podcast
     */
    public function setLanguage($language)
    {
        $this->language = $language;
        return $this;
    }

    /**
     * @return string
     */
    public function getAuthor()
    {
        return $this->author;
    }

    /**
     * @param string $author
     * @return Podcast
     */
    public function setAuthor($author)
    {
        $this->author = $author;
        return $this;
    }

    /**
     * @return string
     */
    public function getManagingEditor()
    {
        return $this->managingEditor;
    }

    /**
     * @param string $managingEditor
     * @return Podcast
     */
    public function setManagingEditor($managingEditor)
    {
        $this->managingEditor = $managingEditor;
        return $this;
    }

    /**
     * @return string
     */
    public function getCopyright()
    {
        return $this->copyright;
    }

    /**
     * @param string $copyright
     * @return Podcast
     */
    public function setCopyright($copyright)
    {
        $this->copyright = $copyright;
        return $this;
    }

}