3 namespace Wallabag\AnnotationBundle\Entity
;
5 use Doctrine\ORM\Mapping
as ORM
;
6 use JMS\Serializer\Annotation\Exclude
;
7 use JMS\Serializer\Annotation\ExclusionPolicy
;
8 use JMS\Serializer\Annotation\Groups
;
9 use JMS\Serializer\Annotation\SerializedName
;
10 use JMS\Serializer\Annotation\VirtualProperty
;
11 use Symfony\Component\Validator\Constraints
as Assert
;
12 use Wallabag\CoreBundle\Entity\Entry
;
13 use Wallabag\CoreBundle\Helper\EntityTimestampsTrait
;
14 use Wallabag\UserBundle\Entity\User
;
19 * @ORM\Table(name="annotation")
20 * @ORM\Entity(repositoryClass="Wallabag\AnnotationBundle\Repository\AnnotationRepository")
21 * @ORM\HasLifecycleCallbacks()
22 * @ExclusionPolicy("none")
26 use EntityTimestampsTrait
;
31 * @ORM\Column(name="id", type="integer")
33 * @ORM\GeneratedValue(strategy="AUTO")
40 * @ORM\Column(name="text", type="text")
42 * @Groups({"entries_for_user", "export_all"})
49 * @ORM\Column(name="created_at", type="datetime")
56 * @ORM\Column(name="updated_at", type="datetime")
66 * maxMessage = "validator.quote_length_too_high"
68 * @ORM\Column(name="quote", type="text")
70 * @Groups({"entries_for_user", "export_all"})
77 * @ORM\Column(name="ranges", type="array")
79 * @Groups({"entries_for_user", "export_all"})
86 * @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User")
93 * @ORM\ManyToOne(targetEntity="Wallabag\CoreBundle\Entity\Entry", inversedBy="annotations")
94 * @ORM\JoinColumn(name="entry_id", referencedColumnName="id", onDelete="cascade")
101 public function __construct(User
$user)
111 public function getId()
119 * @param string $text
123 public function setText($text)
135 public function getText()
145 public function getCreatedAt()
147 return $this->createdAt
;
155 public function getUpdatedAt()
157 return $this->updatedAt
;
165 public function getQuote()
173 * @param string $quote
177 public function setQuote($quote)
179 $this->quote
= $quote;
189 public function getRanges()
191 return $this->ranges
;
197 * @param array $ranges
201 public function setRanges($ranges)
203 $this->ranges
= $ranges;
215 public function setUser($user)
227 public function getUser()
234 * @SerializedName("user")
236 public function getUserName()
238 return $this->user
->getName();
244 * @param Entry $entry
248 public function setEntry($entry)
250 $this->entry
= $entry;
251 $entry->setAnnotation($this);
261 public function getEntry()
268 * @SerializedName("annotator_schema_version")
270 public function getVersion()