id; } /** * Set startDate * * @param \DateTime $startDate * * @return SingleTask */ public function setStartDate($startDate) { $this->startDate = $startDate; return $this; } /** * Get startDate * * @return \DateTime */ public function getStartDate() { return $this->startDate; } /** * Set endDate * * @param \DateTime $endDate * * @return SingleTask */ public function setEndDate($endDate) { $this->endDate = $endDate; return $this; } /** * Get endDate * * @return \DateTime */ public function getEndDate() { return $this->endDate; } /** * Set warningInterval * * @param string $warningInterval * * @return SingleTask */ public function setWarningInterval($warningInterval) { $this->warningInterval = $warningInterval; return $this; } /** * Get warningInterval * * @return \DateInterval */ public function getWarningInterval() { return $this->warningInterval; } /** * Get the Warning date, computed from the difference between the * end date and the warning interval * * Return null if warningDate or endDate is null * * @return \DateTimeImmutable */ public function getWarningDate() { if ($this->getWarningInterval() === null) { return null; } if ($this->getEndDate() === null) { return null; } return \DateTimeImmutable::createFromMutable($this->getEndDate()) ->sub($this->getWarningInterval()); } function getRecurringTask(): RecurringTask { return $this->recurringTask; } function setRecurringTask(RecurringTask $recurringTask) { $this->recurringTask = $recurringTask; } }