3 namespace Wallabag\CoreBundle\Entity
;
5 use Doctrine\ORM\Mapping
as ORM
;
6 use Symfony\Component\Validator\Constraints
as Assert
;
7 use Hateoas\Configuration\Annotation
as Hateoas
;
8 use JMS\Serializer\Annotation\XmlRoot
;
14 * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntryRepository")
15 * @ORM\Table(name="entry")
16 * @ORM\HasLifecycleCallbacks()
17 * @Hateoas\Relation("self", href = "expr('/api/entries/' ~ object.getId())")
21 /** @Serializer\XmlAttribute */
25 * @ORM\Column(name="id", type="integer")
27 * @ORM\GeneratedValue(strategy="AUTO")
34 * @ORM\Column(name="title", type="text", nullable=true)
42 * @ORM\Column(name="url", type="text", nullable=true)
49 * @ORM\Column(name="is_archived", type="boolean")
51 private $isArchived = false;
56 * @ORM\Column(name="is_starred", type="boolean")
58 private $isStarred = false;
63 * @ORM\Column(name="content", type="text", nullable=true)
70 * @ORM\Column(name="created_at", type="datetime")
77 * @ORM\Column(name="updated_at", type="datetime")
84 * @ORM\Column(name="comments", type="text", nullable=true)
91 * @ORM\Column(name="mimetype", type="text", nullable=true)
98 * @ORM\Column(name="reading_type", type="integer", nullable=true)
100 private $readingTime;
105 * @ORM\Column(name="domain_name", type="text", nullable=true)
112 * @ORM\Column(name="is_public", type="boolean", nullable=true, options={"default" = false})
117 * @ORM\ManyToOne(targetEntity="User", inversedBy="entries")
124 public function __construct(User
$user)
134 public function getId()
142 * @param string $title
145 public function setTitle($title)
147 $this->title
= $title;
157 public function getTitle()
168 public function setUrl($url)
180 public function getUrl()
188 * @param string $isArchived
191 public function setArchived($isArchived)
193 $this->isArchived
= $isArchived;
203 public function isArchived()
205 return $this->isArchived
;
208 public function toggleArchive()
210 $this->isArchived
= $this->isArchived() ^
1;
218 * @param string $isStarred
221 public function setStarred($isStarred)
223 $this->isStarred
= $isStarred;
233 public function isStarred()
235 return $this->isStarred
;
238 public function toggleStar()
240 $this->isStarred
= $this->isStarred() ^
1;
248 * @param string $content
251 public function setContent($content)
253 $this->content
= $content;
263 public function getContent()
265 return $this->content
;
271 public function getUser()
279 public function getCreatedAt()
281 return $this->createdAt
;
287 public function getUpdatedAt()
289 return $this->updatedAt
;
296 public function timestamps()
298 if (is_null($this->createdAt
)) {
299 $this->createdAt
= new \
DateTime();
302 $this->updatedAt
= new \
DateTime();
308 public function getComments()
310 return $this->comments
;
314 * @param string $comments
316 public function setComments($comments)
318 $this->comments
= $comments;
324 public function getMimetype()
326 return $this->mimetype
;
330 * @param string $mimetype
332 public function setMimetype($mimetype)
334 $this->mimetype
= $mimetype;
340 public function getReadingTime()
342 return $this->readingTime
;
346 * @param int $readingTime
348 public function setReadingTime($readingTime)
350 $this->readingTime
= $readingTime;
356 public function getDomainName()
358 return $this->domainName
;
362 * @param string $domainName
364 public function setDomainName($domainName)
366 $this->domainName
= $domainName;
372 public function isPublic()
374 return $this->isPublic
;
378 * @param boolean $isPublic
380 public function setPublic($isPublic)
382 $this->isPublic
= $isPublic;