19declare(strict_types=1);
33 'create_date' =>
'DateTimeImmutable',
34 'update_date' =>
'DateTimeImmutable',
35 'import_id' =>
'text',
51 private Online $property_is_online,
52 private PropertyTileImage $property_tile_image,
101 return $this->import_id ??
'';
106 $clone = clone $this;
113 return $this->property_title_and_description;
118 $clone = clone $this;
119 $clone->property_title_and_description = $property_title_and_description;
125 return $this->property_is_online;
130 $clone = clone $this;
131 $clone->property_is_online = $property_is_online;
137 return $this->property_tile_image;
142 $clone = clone $this;
143 $clone->property_tile_image = $property_tile_image;
154 if (
$data ===
null) {
158 if (array_diff_key(self::FIELDS,
$data)
159 || array_diff_key(
$data, self::FIELDS)) {
163 if (
$data[
'object_id'] ===
null ||
$data[
'owner'] ===
null) {
167 if (!is_int(
$data[
'object_id']) || !is_int(
$data[
'owner'])) {
180 foreach (
$data as $key => $value) {
181 $this->$key = $value;
187 foreach (self::FIELDS as $key => $value) {
188 if (
$data[$key] ===
null) {
191 if ($value ===
'int' && !is_int(
$data[$key])) {
194 if ($value ===
'text' && !is_string(
$data[$key])) {
197 if ($value ===
'bool' && !is_bool(
$data[$key])) {
200 if ($value ===
'DateTimeImmutable' && !
$data[$key] instanceof \DateTimeImmutable) {
withPropertyTitleAndDescription(TitleAndDescription $property_title_and_description)
DateTimeImmutable $create_date
setValuesByArray(array $data)
DateTimeImmutable $update_date
checkTypesOfDataArray(array $data)
__construct(private TitleAndDescription $property_title_and_description, private Online $property_is_online, private PropertyTileImage $property_tile_image, ?array $data=null)
withPropertyIsOnline(Online $property_is_online)
withImportId(string $import_id)
checkDataArray(?array $data)
getPropertyTitleAndDescription()
withPropertyTileImage(PropertyTileImage $property_tile_image)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...