id; } /** * Get tool. * * @return ImsLtiTool */ public function getTool() { return $this->tool; } /** * Set tool. * * @param ImsLtiTool $tool * * @return LineItem */ public function setTool($tool) { $this->tool = $tool; return $this; } /** * Get evaluation. * * @return GradebookEvaluation */ public function getEvaluation() { return $this->evaluation; } /** * Set evaluation. * * @param GradebookEvaluation $evaluation * * @return LineItem */ public function setEvaluation($evaluation) { $this->evaluation = $evaluation; return $this; } /** * Get tag. * * @return string */ public function getTag() { return $this->tag; } /** * Set tag. * * @param string $tag * * @return LineItem */ public function setTag($tag) { $this->tag = $tag; return $this; } /** * Get startDate. * * @return \DateTime */ public function getStartDate() { return $this->startDate; } /** * Set startDate. * * @param \DateTime $startDate * * @return LineItem */ public function setStartDate($startDate) { $this->startDate = $startDate; return $this; } /** * Get endDate. * * @return \DateTime */ public function getEndDate() { return $this->endDate; } /** * Set endDate. * * @param \DateTime $endDate * * @return LineItem */ public function setEndDate($endDate) { $this->endDate = $endDate; return $this; } /** * @return string */ public function getResourceId() { return $this->resourceId; } /** * @param string $resourceId * * @return LineItem */ public function setResourceId($resourceId) { $this->resourceId = $resourceId; return $this; } /** * @return array */ public function toArray() { $baseTool = $this->tool->getParent() ?: $this->tool; $data = [ 'scoreMaximum' => $this->evaluation->getMax(), 'label' => $this->evaluation->getName(), 'tag' => (string) $this->tag, 'resourceLinkId' => (string) $baseTool->getId(), 'resourceId' => (string) $this->resourceId, ]; if ($this->startDate) { $data['startDateTime'] = $this->startDate->format(\DateTime::ATOM); } if ($this->endDate) { $data['endDateTime'] = $this->endDate->format(\DateTime::ATOM); } return $data; } }