3 declare(strict_types=1);
15 use DateTimeImmutable;
94 ?DateTimeImmutable
$time =
null,
120 if (is_null($this->specversion)) {
122 $data = $this->
raw(self::FIELD_SPECVERSION);
123 if (is_null(
$data)) {
126 $this->specversion = (string)
$data;
140 if (is_null($this->
id)) {
143 if (is_null(
$data)) {
146 $this->
id = (string)
$data;
161 if (is_null($this->type)) {
163 $data = $this->
raw(self::FIELD_TYPE);
164 if (is_null(
$data)) {
167 $this->type = (string)
$data;
181 if (is_null($this->source)) {
183 $data = $this->
raw(self::FIELD_SOURCE);
184 if (is_null(
$data)) {
187 $this->source = (string)
$data;
201 if (is_null($this->subject)) {
203 $data = $this->
raw(self::FIELD_SUBJECT);
204 if (is_null(
$data)) {
207 $this->subject = (string)
$data;
221 if (is_null($this->time)) {
223 $data = $this->
raw(self::FIELD_TIME);
224 if (is_null(
$data)) {
228 if (
false ===
$data) {
245 if (is_null($this->sequence)) {
247 $data = $this->
raw(self::FIELD_SEQUENCE);
248 if (is_null(
$data)) {
251 $this->sequence = (string)
$data;
265 if (is_null($this->sequencetype)) {
267 $data = $this->
raw(self::FIELD_SEQUENCETYPE);
268 if (is_null(
$data)) {
271 $this->sequencetype = (string)
$data;
285 if (is_null($this->dataref)) {
287 $data = $this->
raw(self::FIELD_DATAREF);
288 if (is_null(
$data)) {
291 $this->dataref = (string)
$data;
305 if (is_null($this->data)) {
307 $data = $this->
raw(self::FIELD_DATA);
308 if (is_null(
$data)) {
312 $this->data = $className::of(
$data);
400 #[\ReturnTypeWillChange]
407 return (
object)
$data;