wallabag/src/Wallabag/CoreBundle/Entity/Tag.php

112 lines
1.9 KiB
PHP
Raw Normal View History

2015-01-22 16:18:56 +00:00
<?php
namespace Wallabag\CoreBundle\Entity;
2015-01-22 16:18:56 +00:00
use Doctrine\ORM\Mapping as ORM;
2015-02-20 16:20:12 +00:00
use JMS\Serializer\Annotation\XmlRoot;
2015-02-20 19:29:33 +00:00
use JMS\Serializer\Annotation\ExclusionPolicy;
use JMS\Serializer\Annotation\Expose;
2015-02-24 06:42:09 +00:00
use Doctrine\Common\Collections\ArrayCollection;
2015-01-22 16:18:56 +00:00
/**
2015-05-30 11:52:26 +00:00
* Tag.
2015-01-22 16:18:56 +00:00
*
2015-02-20 16:20:12 +00:00
* @XmlRoot("tag")
2015-03-28 10:29:19 +00:00
* @ORM\Table
2015-02-20 16:20:12 +00:00
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\TagRepository")
2015-02-20 19:29:33 +00:00
* @ExclusionPolicy("all")
2015-01-22 16:18:56 +00:00
*/
class Tag
2015-01-22 16:18:56 +00:00
{
/**
2015-05-30 11:52:26 +00:00
* @var int
2015-01-22 16:18:56 +00:00
*
2015-02-20 19:29:33 +00:00
* @Expose
* @ORM\Column(name="id", type="integer")
2015-01-22 16:18:56 +00:00
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
2015-01-22 16:18:56 +00:00
*/
private $id;
/**
* @var string
*
2015-02-20 19:29:33 +00:00
* @Expose
* @ORM\Column(name="label", type="text")
2015-01-22 16:18:56 +00:00
*/
private $label;
2015-01-22 16:18:56 +00:00
2015-02-20 19:29:33 +00:00
/**
2015-02-24 06:42:09 +00:00
* @ORM\ManyToMany(targetEntity="Entry", mappedBy="tags", cascade={"persist"})
2015-02-20 19:29:33 +00:00
*/
private $entries;
/**
* @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="tags")
*/
private $user;
2015-10-03 04:29:55 +00:00
public function __construct(\Wallabag\UserBundle\Entity\User $user)
2015-02-24 06:42:09 +00:00
{
$this->user = $user;
2015-02-24 06:42:09 +00:00
$this->entries = new ArrayCollection();
}
public function __toString()
{
return $this->label;
}
2015-01-22 16:18:56 +00:00
/**
2015-05-30 11:52:26 +00:00
* Get id.
2015-01-22 16:18:56 +00:00
*
2015-05-30 11:52:26 +00:00
* @return int
2015-01-22 16:18:56 +00:00
*/
public function getId()
{
return $this->id;
}
/**
2015-05-30 11:52:26 +00:00
* Set label.
*
* @param string $label
2015-01-22 16:18:56 +00:00
*
* @return Tag
2015-01-22 16:18:56 +00:00
*/
public function setLabel($label)
2015-01-22 16:18:56 +00:00
{
$this->label = $label;
2015-01-22 16:18:56 +00:00
return $this;
}
/**
2015-05-30 11:52:26 +00:00
* Get label.
2015-01-22 16:18:56 +00:00
*
2015-01-31 18:09:34 +00:00
* @return string
2015-01-22 16:18:56 +00:00
*/
public function getLabel()
2015-01-22 16:18:56 +00:00
{
2015-02-20 15:38:24 +00:00
return $this->label;
2015-01-22 16:18:56 +00:00
}
2015-02-24 06:42:09 +00:00
public function addEntry(Entry $entry)
{
$this->entries[] = $entry;
}
2015-03-05 18:41:23 +00:00
2015-08-19 09:46:21 +00:00
public function hasEntry($entry)
{
return $this->entries->contains($entry);
}
2015-03-05 18:41:23 +00:00
/**
* @return User
*/
public function getUser()
{
return $this->user;
}
2015-01-22 16:18:56 +00:00
}