3 declare(strict_types=1);
19 use DateTimeImmutable;
93 if (is_null($this->projectKey)) {
95 $data = $this->
raw(self::FIELD_PROJECT_KEY);
99 $this->projectKey = (string) $data;
113 if (is_null($this->notificationType)) {
115 $data = $this->
raw(self::FIELD_NOTIFICATION_TYPE);
116 if (is_null($data)) {
119 $this->notificationType = (string) $data;
133 if (is_null($this->resource)) {
135 $data = $this->
raw(self::FIELD_RESOURCE);
136 if (is_null($data)) {
140 $this->resource = $className::of($data);
154 if (is_null($this->resourceUserProvidedIdentifiers)) {
156 $data = $this->
raw(self::FIELD_RESOURCE_USER_PROVIDED_IDENTIFIERS);
157 if (is_null($data)) {
175 if (is_null($this->version)) {
177 $data = $this->
raw(self::FIELD_VERSION);
178 if (is_null($data)) {
181 $this->version = (int) $data;
195 if (is_null($this->modifiedAt)) {
197 $data = $this->
raw(self::FIELD_MODIFIED_AT);
198 if (is_null($data)) {
202 if (
false === $data) {
205 $this->modifiedAt = $data;
253 #[\ReturnTypeWillChange]
260 return (
object) $data;