$columnMaps List of TCA columns with their ColumnMap representation * @param string|null $languageIdColumnName Name of a column holding the language id of the record, often "sys_language_uid" * @param string|null $translationOriginColumnName Name of a column holding the uid of the record this record is a translation of, often "l10n_parent" or "l18n_parent" * @param string|null $translationOriginDiffSourceName Name of a column holding the diff data for the record this record is a translation of, often "l10n_diffsource" or "l10n_diffsource" * @param string|null $modificationDateColumnName Name of a column holding the timestamp the record was last modified, often "tstamp" * @param string|null $creationDateColumnName Name of a column holding the creation date timestamp, often "crdate" * @param string|null $deletedFlagColumnName Name of a column indicating the soft deleted state of the row, often "deleted" * @param string|null $disabledFlagColumnName Name of a column indicating the "hidden in frontend" state of the row, often "hidden" or "disabled" * @param string|null $startTimeColumnName Name of a column holding the timestamp the record should not be displayed before, often "starttime" * @param string|null $endTimeColumnName Name of a column holding the timestamp the record should not be displayed afterward, often "endtime" * @param string|null $frontendUserGroupColumnName Name of a column holding the uid of the front-end user group which is allowed to edit this record * @param string|null $recordTypeColumnName Name of a column holding the record type, example: "CType" in table "tt_content" * @param bool $rootLevel Bool cast of TCA[$tableName]['ctrl']['rootLevel'] */ public function __construct( public string $className, public string $tableName, public ?string $recordType = null, public array $subclasses = [], public array $columnMaps = [], public ?string $languageIdColumnName = null, public ?string $translationOriginColumnName = null, public ?string $translationOriginDiffSourceName = null, public ?string $modificationDateColumnName = null, public ?string $creationDateColumnName = null, public ?string $deletedFlagColumnName = null, public ?string $disabledFlagColumnName = null, public ?string $startTimeColumnName = null, public ?string $endTimeColumnName = null, public ?string $frontendUserGroupColumnName = null, public ?string $recordTypeColumnName = null, public bool $rootLevel = false, ) {} public function getColumnMap(string $propertyName): ?ColumnMap { return $this->columnMaps[$propertyName] ?? null; } public function isPersistableProperty(string $propertyName): bool { return isset($this->columnMaps[$propertyName]); } // Getters below could be removed but don't harm much and kept as b/w compat for now. public function getClassName(): string { return $this->className; } public function getTableName(): string { return $this->tableName; } public function getRecordType(): ?string { return $this->recordType; } public function getSubclasses(): array { return $this->subclasses; } public function getLanguageIdColumnName(): ?string { return $this->languageIdColumnName; } public function getTranslationOriginColumnName(): ?string { return $this->translationOriginColumnName; } public function getTranslationOriginDiffSourceName(): ?string { return $this->translationOriginDiffSourceName; } public function getModificationDateColumnName(): ?string { return $this->modificationDateColumnName; } public function getCreationDateColumnName(): ?string { return $this->creationDateColumnName; } public function getDeletedFlagColumnName(): ?string { return $this->deletedFlagColumnName; } public function getDisabledFlagColumnName(): ?string { return $this->disabledFlagColumnName; } public function getStartTimeColumnName(): ?string { return $this->startTimeColumnName; } public function getEndTimeColumnName(): ?string { return $this->endTimeColumnName; } public function getFrontEndUserGroupColumnName(): ?string { return $this->frontendUserGroupColumnName; } public function getRecordTypeColumnName(): ?string { return $this->recordTypeColumnName; } public function getRootLevel(): bool { return $this->rootLevel; } }