data = $data; $this->object = $object; } abstract public static function getTagId(): int; abstract public static function createFromLoadedData(int $additionalInformation, ?string $data, CBORObject $object): self; public function getValue(): CBORObject { return $this->object; } public function __toString(): string { $result = parent::__toString(); if (null !== $this->data) { $result .= $this->data; } $result .= (string) $this->object; return $result; } }