newsletterSegments = new ArrayCollection(); $this->options = new ArrayCollection(); $this->queues = new ArrayCollection(); } /** * @return string|null */ public function getHash() { return $this->hash; } /** * @param string|null $hash */ public function setHash($hash) { $this->hash = $hash; } /** * @return string */ public function getSubject() { return $this->subject; } /** * @param string $subject */ public function setSubject($subject) { $this->subject = $subject; } /** * @return string */ public function getType() { return $this->type; } /** * @param string $type */ public function setType($type) { $this->type = $type; } /** * @return string */ public function getSenderAddress() { return $this->senderAddress; } /** * @param string $senderAddress */ public function setSenderAddress($senderAddress) { $this->senderAddress = $senderAddress; } /** * @return string */ public function getSenderName() { return $this->senderName; } /** * @param string $senderName */ public function setSenderName($senderName) { $this->senderName = $senderName; } /** * @return string */ public function getStatus() { return $this->status; } /** * @param string $status */ public function setStatus($status) { $this->status = $status; } /** * @return string */ public function getReplyToAddress() { return $this->replyToAddress; } /** * @param string $replyToAddress */ public function setReplyToAddress($replyToAddress) { $this->replyToAddress = $replyToAddress; } /** * @return string */ public function getReplyToName() { return $this->replyToName; } /** * @param string $replyToName */ public function setReplyToName($replyToName) { $this->replyToName = $replyToName; } /** * @return string */ public function getPreheader() { return $this->preheader; } /** * @param string $preheader */ public function setPreheader($preheader) { $this->preheader = $preheader; } /** * @return array|null */ public function getBody() { return $this->body; } /** * @param array|null $body */ public function setBody($body) { $this->body = $body; } /** * @return DateTimeInterface|null */ public function getSentAt() { return $this->sentAt; } /** * @param DateTimeInterface|null $sentAt */ public function setSentAt($sentAt) { $this->sentAt = $sentAt; } /** * @return string|null */ public function getUnsubscribeToken() { return $this->unsubscribeToken; } /** * @return string */ public function getGaCampaign() { return $this->gaCampaign; } /** * @param string $gaCampaign */ public function setGaCampaign($gaCampaign) { $this->gaCampaign = $gaCampaign; } /** * @param string|null $unsubscribeToken */ public function setUnsubscribeToken($unsubscribeToken) { $this->unsubscribeToken = $unsubscribeToken; } /** * @return NewsletterEntity|null */ public function getParent() { try { if ($this->parent && $this->parent->getId()) { return $this->parent; } } catch (EntityNotFoundException $enf) { $this->setParent(null); } return null; } /** * @param NewsletterEntity|null $parent */ public function setParent($parent) { $this->parent = $parent; } /** * @return NewsletterSegmentEntity[]|ArrayCollection */ public function getNewsletterSegments() { return $this->newsletterSegments; } /** * @return NewsletterOptionEntity[]|ArrayCollection */ public function getOptions() { return $this->options; } /** * @return SendingQueueEntity[]|ArrayCollection */ public function getQueues() { return $this->queues; } /** * @return SendingQueueEntity|null */ public function getLatestQueue() { $criteria = new Criteria(); $criteria->orderBy(['id' => Criteria::DESC]); $criteria->setMaxResults(1); return $this->queues->matching($criteria)->first() ?: null; } }