subject = $subject; } public function isWaiting(): bool { return $this->status === self::STATUS_WAITING; } public function isProcessing(): bool { return $this->status === self::STATUS_PROCESSING; } public function hasFailed(): bool { return $this->status === self::STATUS_FAILURE; } public function hasSucceeded(): bool { return $this->status === self::STATUS_SUCCESS; } public function getId(): ?int { return $this->id; } public function setId(int $id): self { $this->id = $id; return $this; } public function getExternalId(): ?string { return $this->externalId; } public function setExternalId(string $externalId): self { $this->externalId = $externalId; return $this; } public function getSubject(): string { return $this->subject; } public function setSubject(string $subject): self { $this->subject = $subject; return $this; } public function getSubjectId(): ?string { return $this->subject_id; } public function setSubjectId(string $subject_id): self { $this->subject_id = $subject_id; return $this; } public function getStatus(): ?string { return $this->status; } public function setStatus(string $status): self { $this->status = $status; return $this; } public function getErrors(): array { return $this->errors; } public function setErrors(array $errors): self { $this->errors = $errors; return $this; } public function getCreatedAt(): DateTime { return $this->created_at; } public function setCreatedAt(DateTime $created_at): self { $this->created_at = $created_at; return $this; } public function getUpdatedAt(): DateTime { return $this->updated_at; } public function setUpdatedAt(DateTime $updated_at): self { $this->updated_at = $updated_at; return $this; } }