Book.php 6,01 ko
Newer Older
Kévin Dunglas's avatar
Kévin Dunglas a validé
<?php

namespace AppBundle\Entity;

Kévin Dunglas's avatar
Kévin Dunglas a validé
use ApiPlatform\Core\Annotation\Property;
use ApiPlatform\Core\Annotation\Resource;
Kévin Dunglas's avatar
Kévin Dunglas a validé
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * A book.
dunglas's avatar
dunglas a validé
 *
Kévin Dunglas's avatar
Kévin Dunglas a validé
 * @see http://schema.org/Book Documentation on Schema.org
dunglas's avatar
dunglas a validé
 *
Kévin Dunglas's avatar
Kévin Dunglas a validé
 * @ORM\Entity
Kévin Dunglas's avatar
Kévin Dunglas a validé
 * @Resource(iri="http://schema.org/Book")
Kévin Dunglas's avatar
Kévin Dunglas a validé
 */
Kévin Dunglas's avatar
Kévin Dunglas a validé
class Book
Kévin Dunglas's avatar
Kévin Dunglas a validé
{
    /**
     * @var int
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
    /**
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @var ArrayCollection<Person> The author of this content. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Person")
     * @Property(iri="http://schema.org/author")
Kévin Dunglas's avatar
Kévin Dunglas a validé
     */
Kévin Dunglas's avatar
Kévin Dunglas a validé
    private $author;
    /**
     * @var \DateTime Date of first broadcast/publication.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\Column(type="date", nullable=true)
     * @Assert\Date
     * @Property(iri="http://schema.org/datePublished")
     */
    private $datePublished;
    /**
     * @var string A short description of the item.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\Column(nullable=true)
     * @Assert\Type(type="string")
     * @Property(iri="http://schema.org/description")
     */
    private $description;
    /**
     * @var string Genre of the creative work or group.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\Column(nullable=true)
     * @Assert\Type(type="string")
     * @Property(iri="http://schema.org/genre")
     */
    private $genre;
Kévin Dunglas's avatar
Kévin Dunglas a validé
    /**
     * @var string The ISBN of the book.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\Column(nullable=true)
     * @Assert\Type(type="string")
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @Property(iri="http://schema.org/isbn")
Kévin Dunglas's avatar
Kévin Dunglas a validé
     */
    private $isbn;
Kévin Dunglas's avatar
Kévin Dunglas a validé
    /**
     * @var string The name of the item.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\Column(nullable=true)
     * @Assert\Type(type="string")
     * @Property(iri="http://schema.org/name")
     */
    private $name;
Kévin Dunglas's avatar
Kévin Dunglas a validé
    /**
     * @var int The number of pages in the book.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\Column(type="integer", nullable=true)
     * @Assert\Type(type="integer")
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @Property(iri="http://schema.org/numberOfPages")
Kévin Dunglas's avatar
Kévin Dunglas a validé
     */
    private $numberOfPages;
Kévin Dunglas's avatar
Kévin Dunglas a validé
    /**
     * @var Organization The publisher of the creative work.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @ORM\OneToOne(targetEntity="AppBundle\Entity\Organization")
     * @Property(iri="http://schema.org/publisher")
     */
    private $publisher;
Kévin Dunglas's avatar
Kévin Dunglas a validé

    public function __construct()
    {
Kévin Dunglas's avatar
Kévin Dunglas a validé
        $this->author = new ArrayCollection();
Kévin Dunglas's avatar
Kévin Dunglas a validé
    }

    /**
     * Sets id.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param int $id
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
    public function setId($id)
    {
        $this->id = $id;

        return $this;
    }

    /**
     * Gets id.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * Adds author.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param Person $author
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
Kévin Dunglas's avatar
Kévin Dunglas a validé
    public function addAuthor(Person $author)
Kévin Dunglas's avatar
Kévin Dunglas a validé
    {
Kévin Dunglas's avatar
Kévin Dunglas a validé
        $this->author[] = $author;
Kévin Dunglas's avatar
Kévin Dunglas a validé

        return $this;
    }

    /**
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * Removes author.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param Person $author
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
Kévin Dunglas's avatar
Kévin Dunglas a validé
    public function removeAuthor(Person $author)
Kévin Dunglas's avatar
Kévin Dunglas a validé
    {
Kévin Dunglas's avatar
Kévin Dunglas a validé
        $this->author->removeElement($author);
Kévin Dunglas's avatar
Kévin Dunglas a validé

        return $this;
    }

    /**
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * Gets author.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return ArrayCollection<Person>
     */
Kévin Dunglas's avatar
Kévin Dunglas a validé
    public function getAuthor()
Kévin Dunglas's avatar
Kévin Dunglas a validé
    {
Kévin Dunglas's avatar
Kévin Dunglas a validé
        return $this->author;
    }

    /**
     * Sets datePublished.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param \DateTime $datePublished
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
    public function setDatePublished(\DateTime $datePublished = null)
    {
        $this->datePublished = $datePublished;

        return $this;
    }

    /**
     * Gets datePublished.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return \DateTime
     */
    public function getDatePublished()
    {
        return $this->datePublished;
    }

    /**
     * Sets description.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param string $description
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
    public function setDescription($description)
    {
        $this->description = $description;

        return $this;
    }

    /**
     * Gets description.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return string
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * Sets genre.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param string $genre
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
    public function setGenre($genre)
    {
        $this->genre = $genre;

        return $this;
    }

    /**
     * Gets genre.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return string
     */
    public function getGenre()
    {
        return $this->genre;
Kévin Dunglas's avatar
Kévin Dunglas a validé
    }

    /**
     * Sets isbn.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param string $isbn
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
    public function setIsbn($isbn)
    {
        $this->isbn = $isbn;

        return $this;
    }

    /**
     * Gets isbn.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return string
     */
    public function getIsbn()
    {
        return $this->isbn;
    }

Kévin Dunglas's avatar
Kévin Dunglas a validé
    /**
     * Sets name.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param string $name
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Gets name.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

Kévin Dunglas's avatar
Kévin Dunglas a validé
    /**
     * Sets numberOfPages.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param int $numberOfPages
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
    public function setNumberOfPages($numberOfPages)
    {
        $this->numberOfPages = $numberOfPages;

        return $this;
    }

    /**
     * Gets numberOfPages.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return int
     */
    public function getNumberOfPages()
    {
        return $this->numberOfPages;
    }
Kévin Dunglas's avatar
Kévin Dunglas a validé

    /**
     * Sets publisher.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @param Organization $publisher
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return $this
     */
    public function setPublisher(Organization $publisher = null)
    {
        $this->publisher = $publisher;

        return $this;
    }

    /**
     * Gets publisher.
dunglas's avatar
dunglas a validé
     *
Kévin Dunglas's avatar
Kévin Dunglas a validé
     * @return Organization
     */
    public function getPublisher()
    {
        return $this->publisher;
    }
Kévin Dunglas's avatar
Kévin Dunglas a validé
}