. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Tools\Pdf; use stdClass; class Data { /** @var array */ private $additionalTemplateData = []; /** @var AttachmentWrapper[] */ private $attachments = []; public function getAdditionalTemplateData(): stdClass { return (object) $this->additionalTemplateData; } public function withAdditionalTemplateData(stdClass $additionalTemplateData): self { $obj = clone $this; $obj->additionalTemplateData = array_merge( $obj->additionalTemplateData, get_object_vars($additionalTemplateData) ); return $obj; } /** * @param AttachmentWrapper[] $attachments */ public function withAttachmentsAdded(array $attachments): self { $obj = clone $this; foreach ($attachments as $attachment) { $obj->attachments[] = $attachment; } return $obj; } /** * @return AttachmentWrapper[] */ public function getAttachments(): array { return $this->attachments; } public static function create(): self { return new self(); } }