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->oldVersion)) {
205 $data = $this->
raw(self::FIELD_OLD_VERSION);
206 if (is_null($data)) {
209 $this->oldVersion = (int) $data;
223 if (is_null($this->modifiedAt)) {
225 $data = $this->
raw(self::FIELD_MODIFIED_AT);
226 if (is_null($data)) {
230 if (
false === $data) {
233 $this->modifiedAt = $data;
289 #[\ReturnTypeWillChange]
296 return (
object) $data;