DataMapFactory implements SingletonInterface

A factory for a data map to map a single table configured in $TCA on a domain object.

Internal

only to be used within Extbase, not part of TYPO3 Core API.

Table of Contents

Interfaces

SingletonInterface
"empty" interface for singletons (marker interface pattern)

Properties

$baseCacheIdentifier  : string
$cacheManager  : CacheManager
$configurationManager  : ConfigurationManagerInterface
$dataMapCache  : FrontendInterface
$dataMaps  : array<string|int, mixed>
Runtime cache for data maps, to reduce number of calls to cache backend.
$reflectionService  : ReflectionService

Methods

__construct()  : mixed
buildDataMap()  : DataMap
Builds a data map by adding column maps for all the configured columns in the $TCA.
setOneToManyRelation()  : ColumnMap
This method sets the configuration for a 1:n relation based on the $TCA column configuration
addMetaDataColumnNames()  : DataMap
buildDataMapInternal()  : DataMap
Builds a data map by adding column maps for all the configured columns in the $TCA.
createColumnMap()  : ColumnMap
Creates the ColumnMap object for the given columnName and propertyName
getColumnsDefinition()  : array<string|int, mixed>
Returns the TCA columns array of the specified table
getControlSection()  : array<string|int, mixed>|null
Returns the TCA ctrl section of the specified table; or NULL if not set
resolveTableName()  : string
Resolve the table name for the given class name
setFieldEvaluations()  : ColumnMap
Sets field evaluations based on $TCA column configuration.
setManyToManyRelation()  : ColumnMap
This method sets the configuration for a m:n relation based on the $TCA column configuration
setOneToOneRelation()  : ColumnMap
This method sets the configuration for a 1:1 relation based on the $TCA column configuration
setRelations()  : ColumnMap
This method tries to determine the type of type of relation to other tables and sets it based on the $TCA column configuration
setType()  : ColumnMap
Set the table column type

Properties

$baseCacheIdentifier

protected string $baseCacheIdentifier

$dataMaps

Runtime cache for data maps, to reduce number of calls to cache backend.

protected array<string|int, mixed> $dataMaps = []

Methods

buildDataMap()

Builds a data map by adding column maps for all the configured columns in the $TCA.

public buildDataMap(string $className) : DataMap

It also resolves the type of values the column is holding and the typo of relation the column represents.

Parameters
$className : string

The class name you want to fetch the Data Map for

Return values
DataMap —

The data map

setOneToManyRelation()

This method sets the configuration for a 1:n relation based on the $TCA column configuration

public setOneToManyRelation(ColumnMap $columnMap[, array<string|int, mixed>|null $columnConfiguration = null ]) : ColumnMap
Parameters
$columnMap : ColumnMap

The column map

$columnConfiguration : array<string|int, mixed>|null = null

The column configuration from $TCA

Return values
ColumnMap

buildDataMapInternal()

Builds a data map by adding column maps for all the configured columns in the $TCA.

protected buildDataMapInternal(string $className) : DataMap

It also resolves the type of values the column is holding and the typo of relation the column represents.

Parameters
$className : string

The class name you want to fetch the Data Map for

Tags
throws
InvalidClassException
Return values
DataMap —

The data map

createColumnMap()

Creates the ColumnMap object for the given columnName and propertyName

protected createColumnMap(string $columnName, string $propertyName) : ColumnMap
Parameters
$columnName : string
$propertyName : string
Return values
ColumnMap

getColumnsDefinition()

Returns the TCA columns array of the specified table

protected getColumnsDefinition(string $tableName) : array<string|int, mixed>
Parameters
$tableName : string

An optional table name to fetch the columns definition from

Return values
array<string|int, mixed> —

The TCA columns definition

getControlSection()

Returns the TCA ctrl section of the specified table; or NULL if not set

protected getControlSection(string $tableName) : array<string|int, mixed>|null
Parameters
$tableName : string

An optional table name to fetch the columns definition from

Return values
array<string|int, mixed>|null —

The TCA columns definition

resolveTableName()

Resolve the table name for the given class name

protected resolveTableName(string $className) : string
Parameters
$className : string
Return values
string —

The table name

setFieldEvaluations()

Sets field evaluations based on $TCA column configuration.

protected setFieldEvaluations(ColumnMap $columnMap[, array<string|int, mixed>|null $columnConfiguration = null ]) : ColumnMap
Parameters
$columnMap : ColumnMap

The column map

$columnConfiguration : array<string|int, mixed>|null = null

The column configuration from $TCA

Return values
ColumnMap

setManyToManyRelation()

This method sets the configuration for a m:n relation based on the $TCA column configuration

protected setManyToManyRelation(ColumnMap $columnMap[, array<string|int, mixed>|null $columnConfiguration = null ]) : ColumnMap
Parameters
$columnMap : ColumnMap

The column map

$columnConfiguration : array<string|int, mixed>|null = null

The column configuration from $TCA

Tags
throws
UnsupportedRelationException
Return values
ColumnMap

setOneToOneRelation()

This method sets the configuration for a 1:1 relation based on the $TCA column configuration

protected setOneToOneRelation(ColumnMap $columnMap[, array<string|int, mixed>|null $columnConfiguration = null ]) : ColumnMap
Parameters
$columnMap : ColumnMap

The column map

$columnConfiguration : array<string|int, mixed>|null = null

The column configuration from $TCA

Return values
ColumnMap

setRelations()

This method tries to determine the type of type of relation to other tables and sets it based on the $TCA column configuration

protected setRelations(ColumnMap $columnMap, array<string|int, mixed>|null $columnConfiguration, string|null $type, string|null $elementType) : ColumnMap
Parameters
$columnMap : ColumnMap

The column map

$columnConfiguration : array<string|int, mixed>|null

The column configuration from $TCA

$type : string|null
$elementType : string|null
Return values
ColumnMap

setType()

Set the table column type

protected setType(ColumnMap $columnMap, array<string|int, mixed> $columnConfiguration) : ColumnMap
Parameters
$columnMap : ColumnMap
$columnConfiguration : array<string|int, mixed>
Return values
ColumnMap
On this page

Search results