3 declare(strict_types=1);
19 use DateTimeImmutable;
101 if (is_null($this->projectKey)) {
103 $data = $this->
raw(self::FIELD_PROJECT_KEY);
104 if (is_null($data)) {
107 $this->projectKey = (string) $data;
121 if (is_null($this->notificationType)) {
123 $data = $this->
raw(self::FIELD_NOTIFICATION_TYPE);
124 if (is_null($data)) {
127 $this->notificationType = (string) $data;
141 if (is_null($this->resource)) {
143 $data = $this->
raw(self::FIELD_RESOURCE);
144 if (is_null($data)) {
148 $this->resource = $className::of($data);
162 if (is_null($this->resourceUserProvidedIdentifiers)) {
164 $data = $this->
raw(self::FIELD_RESOURCE_USER_PROVIDED_IDENTIFIERS);
165 if (is_null($data)) {
183 if (is_null($this->version)) {
185 $data = $this->
raw(self::FIELD_VERSION);
186 if (is_null($data)) {
189 $this->version = (int) $data;
203 if (is_null($this->modifiedAt)) {
205 $data = $this->
raw(self::FIELD_MODIFIED_AT);
206 if (is_null($data)) {
210 if (
false === $data) {
213 $this->modifiedAt = $data;
227 if (is_null($this->dataErasure)) {
229 $data = $this->
raw(self::FIELD_DATA_ERASURE);
230 if (is_null($data)) {
233 $this->dataErasure = (bool) $data;
289 #[\ReturnTypeWillChange]
296 return (
object) $data;