TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Extbase\Persistence\Generic\Backend Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Persistence\Generic\Backend:
TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 injectSession (\TYPO3\CMS\Extbase\Persistence\Generic\Session $session)
 
 injectReflectionService (\TYPO3\CMS\Extbase\Reflection\ReflectionService $reflectionService)
 
 injectQomFactory (\TYPO3\CMS\Extbase\Persistence\Generic\Qom\QueryObjectModelFactory $qomFactory)
 
 injectStorageBackend (\TYPO3\CMS\Extbase\Persistence\Generic\Storage\BackendInterface $storageBackend)
 
 injectDataMapper (\TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper $dataMapper)
 
 injectSignalSlotDispatcher (\TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher)
 
 __construct (\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface $configurationManager)
 
 setPersistenceManager (\TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface $persistenceManager)
 
 getSession ()
 
 getDataMapper ()
 
 getQomFactory ()
 
 getReflectionService ()
 
 getObjectCountByQuery (\TYPO3\CMS\Extbase\Persistence\QueryInterface $query)
 
 getObjectDataByQuery (\TYPO3\CMS\Extbase\Persistence\QueryInterface $query)
 
 getIdentifierByObject ($object)
 
 getObjectByIdentifier ($identifier, $className)
 
 isNewObject ($object)
 
 setAggregateRootObjects (\TYPO3\CMS\Extbase\Persistence\ObjectStorage $objects)
 
 setChangedEntities (\TYPO3\CMS\Extbase\Persistence\ObjectStorage $entities)
 
 setDeletedEntities (\TYPO3\CMS\Extbase\Persistence\ObjectStorage $entities)
 
 commit ()
 

Protected Member Functions

 emitBeforeGettingObjectDataSignal (\TYPO3\CMS\Extbase\Persistence\QueryInterface $query)
 
 emitAfterGettingObjectDataSignal (\TYPO3\CMS\Extbase\Persistence\QueryInterface $query, array $result)
 
 persistObject (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object)
 
 propertyValueIsLazyLoaded ($propertyValue)
 
 getRemovedChildObjects (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, $propertyName)
 
 attachObjectToParentObject (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $parentObject, $parentPropertyName, $sortingPosition=0)
 
 updateRelationOfObjectToParentObject (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, \TYPO3\CMS\Extbase\DomainObject\AbstractEntity $parentObject, $parentPropertyName, $sortingPosition=0)
 
 attachObjectToParentObjectRelationHasMany (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, \TYPO3\CMS\Extbase\DomainObject\AbstractEntity $parentObject, $parentPropertyName, $sortingPosition=0)
 
 detachObjectFromParentObject (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $parentObject, $parentPropertyName)
 
 insertObject (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $parentObject=null, $parentPropertyName='')
 
 emitAfterInsertObjectSignal (DomainObjectInterface $object)
 
 emitEndInsertObjectSignal (DomainObjectInterface $object)
 
 getUidOfAlreadyPersistedValueObject (\TYPO3\CMS\Extbase\DomainObject\AbstractValueObject $object)
 
 insertRelationInRelationtable (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $parentObject, $propertyName, $sortingPosition=null)
 
 updateRelationInRelationTable (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $parentObject, $propertyName, $sortingPosition=0)
 
 deleteAllRelationsFromRelationtable (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $parentObject, $parentPropertyName)
 
 deleteRelationFromRelationtable (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $relatedObject, \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $parentObject, $parentPropertyName)
 
 fetchMaxSortingFromParentTable (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $parentObject, $parentPropertyName)
 
 updateObject (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, array $row)
 
 emitAfterUpdateObjectSignal (DomainObjectInterface $object)
 
 emitAfterPersistObjectSignal (DomainObjectInterface $object)
 
 addCommonFieldsToRow (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, array &$row)
 
 addCommonDateFieldsToRow (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, array &$row)
 
 processDeletedObjects ()
 
 removeEntity (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object, $markAsDeleted=true)
 
 emitAfterRemoveObjectSignal (DomainObjectInterface $object)
 
 removeRelatedObjects (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object)
 
 determineStoragePageIdForNewRecord (\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface $object=null)
 

Protected Attributes

 $session
 
 $persistenceManager
 
 $aggregateRootObjects
 
 $deletedEntities
 
 $changedEntities
 
 $visitedDuringPersistence
 
 $reflectionService
 
 $qomFactory
 
 $storageBackend
 
 $dataMapper
 
 $referenceIndex
 
 $configurationManager
 
 $signalSlotDispatcher
 

Detailed Description

A persistence backend. This backend maps objects to the relational model of the storage backend. It persists all added, removed and changed objects.

Definition at line 25 of file Backend.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::__construct ( \TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface  $configurationManager)

Constructs the backend

Parameters
\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface$configurationManager

Definition at line 147 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$configurationManager, and TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Member Function Documentation

◆ addCommonDateFieldsToRow()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::addCommonDateFieldsToRow ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
array &  $row 
)
protected

Adjustes the common date fields of the given row to the current time

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$object
array&$rowThe row to be updated
Returns
void

Definition at line 1011 of file Backend.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\addCommonFieldsToRow(), and TYPO3\CMS\Extbase\Persistence\Generic\Backend\removeEntity().

◆ addCommonFieldsToRow()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::addCommonFieldsToRow ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
array &  $row 
)
protected

Adds common databse fields to a row

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$object
array&$row
Returns
void

Definition at line 992 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\addCommonDateFieldsToRow(), and TYPO3\CMS\Extbase\Persistence\Generic\Backend\determineStoragePageIdForNewRecord().

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\insertObject(), and TYPO3\CMS\Extbase\Persistence\Generic\Backend\updateObject().

◆ attachObjectToParentObject()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::attachObjectToParentObject ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $parentObject,
  $parentPropertyName,
  $sortingPosition = 0 
)
protected

Updates the fields defining the relation between the object and the parent object.

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$object
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$parentObject
string$parentPropertyName
int$sortingPosition
Returns
void

Definition at line 546 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\attachObjectToParentObjectRelationHasMany(), TYPO3\CMS\Extbase\Persistence\Generic\Backend\insertRelationInRelationtable(), TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_AND_BELONGS_TO_MANY, and TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_MANY.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\propertyValueIsLazyLoaded().

◆ attachObjectToParentObjectRelationHasMany()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::attachObjectToParentObjectRelationHasMany ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
\TYPO3\CMS\Extbase\DomainObject\AbstractEntity  $parentObject,
  $parentPropertyName,
  $sortingPosition = 0 
)
protected

Updates fields defining the relation between the object and the parent object in relation has-many.

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$object
\TYPO3\CMS\Extbase\DomainObject\AbstractEntity$parentObject
string$parentPropertyName
int$sortingPosition
Exceptions

Definition at line 587 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_MANY, and TYPO3\CMS\Extbase\Persistence\Generic\Backend\updateObject().

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\attachObjectToParentObject(), and TYPO3\CMS\Extbase\Persistence\Generic\Backend\updateRelationOfObjectToParentObject().

◆ commit()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::commit ( )

◆ deleteAllRelationsFromRelationtable()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::deleteAllRelationsFromRelationtable ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $parentObject,
  $parentPropertyName 
)
protected

Delete all mm-relations of a parent from a relation table

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$parentObjectThe parent object
string$parentPropertyNameThe name of the parent object's property where the related objects are stored in
Returns
bool TRUE if delete was successfully

Definition at line 840 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\removeRelatedObjects().

◆ deleteRelationFromRelationtable()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::deleteRelationFromRelationtable ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $relatedObject,
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $parentObject,
  $parentPropertyName 
)
protected

Delete an mm-relation from a relation table

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$relatedObjectThe related object
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$parentObjectThe parent object
string$parentPropertyNameThe name of the parent object's property where the related objects are stored in
Returns
bool

Definition at line 864 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\detachObjectFromParentObject().

◆ detachObjectFromParentObject()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::detachObjectFromParentObject ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $parentObject,
  $parentPropertyName 
)
protected

Updates the fields defining the relation between the object and the parent object.

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$object
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$parentObject
string$parentPropertyName
Returns
void

Definition at line 628 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\deleteRelationFromRelationtable(), TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_AND_BELONGS_TO_MANY, TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_MANY, and TYPO3\CMS\Extbase\Persistence\Generic\Backend\updateObject().

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\propertyValueIsLazyLoaded().

◆ determineStoragePageIdForNewRecord()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::determineStoragePageIdForNewRecord ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object = null)
protected

Determine the storage page ID for a given NEW record

This does the following:

  • If the domain object has an accessible property 'pid' (i.e. through a getPid() method), that is used to store the record.
  • If there is a TypoScript configuration "classes.CLASSNAME.newRecordStoragePid", that is used to store new records.
  • If there is no such TypoScript configuration, it uses the first value of The "storagePid" taken for reading records.
Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$object
Returns
int the storage Page ID where the object should be stored

Definition at line 1126 of file Backend.php.

References TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface\CONFIGURATION_TYPE_FRAMEWORK, TYPO3\CMS\Extbase\Reflection\ObjectAccess\getProperty(), and TYPO3\CMS\Core\Utility\GeneralUtility\intExplode().

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\addCommonFieldsToRow(), and TYPO3\CMS\Extbase\Persistence\Generic\Backend\insertRelationInRelationtable().

◆ emitAfterGettingObjectDataSignal()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::emitAfterGettingObjectDataSignal ( \TYPO3\CMS\Extbase\Persistence\QueryInterface  $query,
array  $result 
)
protected

Emits a signal after object data is fetched

Parameters
\TYPO3\CMS\Extbase\Persistence\QueryInterface$query
array$result
Returns
array Modified result

Definition at line 250 of file Backend.php.

◆ emitAfterInsertObjectSignal()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::emitAfterInsertObjectSignal ( DomainObjectInterface  $object)
protected

Emits a signal after an object was added to the storage

Parameters
DomainObjectInterface$object

Definition at line 739 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\insertObject().

◆ emitAfterPersistObjectSignal()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::emitAfterPersistObjectSignal ( DomainObjectInterface  $object)
protected

Emits a signal after an object was persisted

Parameters
DomainObjectInterface$object

Definition at line 980 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\persistObject().

◆ emitAfterRemoveObjectSignal()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::emitAfterRemoveObjectSignal ( DomainObjectInterface  $object)
protected

Emits a signal after an object was removed from storage

Parameters
DomainObjectInterface$object

Definition at line 1076 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\removeEntity().

◆ emitAfterUpdateObjectSignal()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::emitAfterUpdateObjectSignal ( DomainObjectInterface  $object)
protected

Emits a signal after an object was updated in storage

Parameters
DomainObjectInterface$object

Definition at line 970 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\updateObject().

◆ emitBeforeGettingObjectDataSignal()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::emitBeforeGettingObjectDataSignal ( \TYPO3\CMS\Extbase\Persistence\QueryInterface  $query)
protected

Emits a signal before object data is fetched

Parameters
\TYPO3\CMS\Extbase\Persistence\QueryInterface$query
Returns
Modified query

Definition at line 237 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\getObjectDataByQuery().

◆ emitEndInsertObjectSignal()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::emitEndInsertObjectSignal ( DomainObjectInterface  $object)
protected

Emits a signal after an object was registered in persistence session This signal replaces the afterInsertObject signal which is now deprecated

Parameters
DomainObjectInterface$object

Definition at line 750 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\insertObject().

◆ fetchMaxSortingFromParentTable()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::fetchMaxSortingFromParentTable ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $parentObject,
  $parentPropertyName 
)
protected

Fetches maximal value currently used for sorting field in parent table

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$parentObjectThe parent object
string$parentPropertyNameThe name of the parent object's property where the related objects are stored in
Exceptions

Definition at line 889 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_AND_BELONGS_TO_MANY, and TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_MANY.

◆ getDataMapper()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getDataMapper ( )

Returns the Data Mapper

Returns

Definition at line 179 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$dataMapper.

◆ getIdentifierByObject()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getIdentifierByObject (   $object)

Returns the (internal) identifier for the object, if it is known to the backend. Otherwise NULL is returned.

Parameters
object$object
Returns
string|NULL The identifier for the object if it is known, or NULL

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 263 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\isNewObject().

◆ getObjectByIdentifier()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getObjectByIdentifier (   $identifier,
  $className 
)

Returns the object with the (internal) identifier, if it is known to the backend. Otherwise NULL is returned.

Parameters
string$identifier
string$className
Returns
object|NULL The object for the identifier if it is known, or NULL

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 282 of file Backend.php.

◆ getObjectCountByQuery()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getObjectCountByQuery ( \TYPO3\CMS\Extbase\Persistence\QueryInterface  $query)

Returns the number of records matching the query.

Parameters
\TYPO3\CMS\Extbase\Persistence\QueryInterface$query
Returns
int

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 211 of file Backend.php.

◆ getObjectDataByQuery()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getObjectDataByQuery ( \TYPO3\CMS\Extbase\Persistence\QueryInterface  $query)

Returns the object data matching the $query.

Parameters
\TYPO3\CMS\Extbase\Persistence\QueryInterface$query
Returns
array

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 223 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\emitBeforeGettingObjectDataSignal().

◆ getQomFactory()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getQomFactory ( )

Returns the current QOM factory

Returns

Definition at line 189 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$qomFactory.

◆ getReflectionService()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getReflectionService ( )

Returns the reflection service

Returns

Definition at line 199 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$reflectionService.

◆ getRemovedChildObjects()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getRemovedChildObjects ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
  $propertyName 
)
protected

Returns the removed objects determined by a comparison of the clean property value with the actual property value.

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$objectThe object
string$propertyName
Returns
array An array of removed objects

Definition at line 522 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\propertyValueIsLazyLoaded().

◆ getSession()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getSession ( )

Returns the repository session

Returns

Definition at line 169 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$session.

◆ getUidOfAlreadyPersistedValueObject()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::getUidOfAlreadyPersistedValueObject ( \TYPO3\CMS\Extbase\DomainObject\AbstractValueObject  $object)
protected

Tests, if the given Value Object already exists in the storage backend and if so, it returns the uid.

Parameters
\TYPO3\CMS\Extbase\DomainObject\AbstractValueObject$objectThe object to be tested
Returns
mixed The matching uid if an object was found, else FALSE

Definition at line 761 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\insertObject().

◆ injectDataMapper()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::injectDataMapper ( \TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper  $dataMapper)
Parameters
\TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper$dataMapper

Definition at line 129 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$dataMapper.

◆ injectQomFactory()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::injectQomFactory ( \TYPO3\CMS\Extbase\Persistence\Generic\Qom\QueryObjectModelFactory  $qomFactory)
Parameters
\TYPO3\CMS\Extbase\Persistence\Generic\Qom\QueryObjectModelFactory$qomFactory

Definition at line 113 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$qomFactory.

◆ injectReflectionService()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::injectReflectionService ( \TYPO3\CMS\Extbase\Reflection\ReflectionService  $reflectionService)
Parameters
\TYPO3\CMS\Extbase\Reflection\ReflectionService$reflectionService

Definition at line 105 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$reflectionService.

◆ injectSession()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::injectSession ( \TYPO3\CMS\Extbase\Persistence\Generic\Session  $session)
Parameters
\TYPO3\CMS\Extbase\Persistence\Generic\Session$session

Definition at line 97 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$session.

◆ injectSignalSlotDispatcher()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::injectSignalSlotDispatcher ( \TYPO3\CMS\Extbase\SignalSlot\Dispatcher  $signalSlotDispatcher)
Parameters
\TYPO3\CMS\Extbase\SignalSlot\Dispatcher$signalSlotDispatcher

Definition at line 137 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$signalSlotDispatcher.

◆ injectStorageBackend()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::injectStorageBackend ( \TYPO3\CMS\Extbase\Persistence\Generic\Storage\BackendInterface  $storageBackend)
Parameters
\TYPO3\CMS\Extbase\Persistence\Generic\Storage\BackendInterface$storageBackend

Definition at line 121 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$storageBackend.

◆ insertObject()

◆ insertRelationInRelationtable()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::insertRelationInRelationtable ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $parentObject,
  $propertyName,
  $sortingPosition = null 
)
protected

Inserts mm-relation into a relation table

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$objectThe related object
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$parentObjectThe parent object
string$propertyNameThe name of the parent object's property where the related objects are stored in
int$sortingPositionDefaults to NULL
Returns
int The uid of the inserted row

Definition at line 775 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\determineStoragePageIdForNewRecord().

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\attachObjectToParentObject().

◆ isNewObject()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::isNewObject (   $object)

Checks if the given object has ever been persisted.

Parameters
object$objectThe object to check
Returns
bool TRUE if the object is new, FALSE if the object exists in the repository

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 300 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\getIdentifierByObject().

◆ persistObject()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::persistObject ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object)
protected

◆ processDeletedObjects()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::processDeletedObjects ( )
protected

Iterate over deleted aggregate root objects and process them

Returns
void

Definition at line 1027 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\removeEntity().

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\commit().

◆ propertyValueIsLazyLoaded()

◆ removeEntity()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::removeEntity ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
  $markAsDeleted = true 
)
protected

◆ removeRelatedObjects()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::removeRelatedObjects ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object)
protected

◆ setAggregateRootObjects()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::setAggregateRootObjects ( \TYPO3\CMS\Extbase\Persistence\ObjectStorage  $objects)

Sets the aggregate root objects

Parameters
\TYPO3\CMS\Extbase\Persistence\ObjectStorage$objects
Returns
void

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 311 of file Backend.php.

◆ setChangedEntities()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::setChangedEntities ( \TYPO3\CMS\Extbase\Persistence\ObjectStorage  $entities)

Sets the changed objects

Parameters
\TYPO3\CMS\Extbase\Persistence\ObjectStorage$entities
Returns
void

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 322 of file Backend.php.

◆ setDeletedEntities()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::setDeletedEntities ( \TYPO3\CMS\Extbase\Persistence\ObjectStorage  $entities)

Sets the deleted objects

Parameters
\TYPO3\CMS\Extbase\Persistence\ObjectStorage$entities
Returns
void

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 333 of file Backend.php.

◆ setPersistenceManager()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::setPersistenceManager ( \TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface  $persistenceManager)
Parameters
\TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface$persistenceManager

Implements TYPO3\CMS\Extbase\Persistence\Generic\BackendInterface.

Definition at line 159 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\$persistenceManager.

◆ updateObject()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::updateObject ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
array  $row 
)
protected

◆ updateRelationInRelationTable()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::updateRelationInRelationTable ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $parentObject,
  $propertyName,
  $sortingPosition = 0 
)
protected

Updates mm-relation in a relation table

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$objectThe related object
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$parentObjectThe parent object
string$propertyNameThe name of the parent object's property where the related objects are stored in
int$sortingPositionDefaults to NULL
Returns
bool TRUE if update was successfully

Definition at line 813 of file Backend.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\updateRelationOfObjectToParentObject().

◆ updateRelationOfObjectToParentObject()

TYPO3\CMS\Extbase\Persistence\Generic\Backend::updateRelationOfObjectToParentObject ( \TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface  $object,
\TYPO3\CMS\Extbase\DomainObject\AbstractEntity  $parentObject,
  $parentPropertyName,
  $sortingPosition = 0 
)
protected

Updates the fields defining the relation between the object and the parent object.

Parameters
\TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface$object
\TYPO3\CMS\Extbase\DomainObject\AbstractEntity$parentObject
string$parentPropertyName
int$sortingPosition
Returns
void

Definition at line 566 of file Backend.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Backend\attachObjectToParentObjectRelationHasMany(), TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_AND_BELONGS_TO_MANY, TYPO3\CMS\Extbase\Persistence\Generic\Mapper\ColumnMap\RELATION_HAS_MANY, and TYPO3\CMS\Extbase\Persistence\Generic\Backend\updateRelationInRelationTable().

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Backend\propertyValueIsLazyLoaded().

Member Data Documentation

◆ $aggregateRootObjects

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$aggregateRootObjects
protected

Definition at line 40 of file Backend.php.

◆ $changedEntities

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$changedEntities
protected

Definition at line 50 of file Backend.php.

◆ $configurationManager

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$configurationManager
protected

◆ $dataMapper

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$dataMapper
protected

◆ $deletedEntities

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$deletedEntities
protected

Definition at line 45 of file Backend.php.

◆ $persistenceManager

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$persistenceManager
protected

◆ $qomFactory

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$qomFactory
protected

◆ $referenceIndex

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$referenceIndex
protected

Definition at line 82 of file Backend.php.

◆ $reflectionService

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$reflectionService
protected

◆ $session

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$session
protected

◆ $signalSlotDispatcher

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$signalSlotDispatcher
protected

◆ $storageBackend

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$storageBackend
protected

◆ $visitedDuringPersistence

TYPO3\CMS\Extbase\Persistence\Generic\Backend::$visitedDuringPersistence
protected

Definition at line 55 of file Backend.php.