3declare(strict_types=1);
100 if (is_null($this->notificationType)) {
102 $data = $this->
raw(self::FIELD_NOTIFICATION_TYPE);
103 if (is_null($data)) {
106 $this->notificationType = (string) $data;
121 if (is_null($this->projectKey)) {
123 $data = $this->
raw(self::FIELD_PROJECT_KEY);
124 if (is_null($data)) {
127 $this->projectKey = (string) $data;
141 if (is_null($this->resource)) {
143 $data = $this->
raw(self::FIELD_RESOURCE);
144 if (is_null($data)) {
147 $className = ReferenceModel::resolveDiscriminatorClass($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)) {
169 $this->resourceUserProvidedIdentifiers = UserProvidedIdentifiersModel::of($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)) {
229 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
230 if (
false === $data) {
233 $this->modifiedAt = $data;
289 #[\ReturnTypeWillChange]
296 return (
object) $data;