PersistenceManager deprecated
class PersistenceManager extends AbstractPersistenceManager (View source)
deprecated
The generic Flow Persistence Manager
Properties
protected array | $settings | from AbstractPersistenceManager | |
protected array | $newObjects | from AbstractPersistenceManager | |
protected bool | $hasUnpersistedChanges | from AbstractPersistenceManager | |
protected AllowedObjectsContainer | $allowedObjects | from AbstractPersistenceManager | |
protected SplObjectStorage | $changedObjects | ||
protected SplObjectStorage | $addedObjects | ||
protected SplObjectStorage | $removedObjects | ||
protected QueryFactoryInterface | $queryFactory | ||
protected DataMapper | $dataMapper | ||
protected BackendInterface | $backend | ||
protected Session | $persistenceSession |
Methods
Injects the Flow settings, the persistence part is kept for further use.
Clears the in-memory state of the persistence.
Registers an object which has been created or cloned during this request.
Adds the given object to a list of allowed objects which may be persisted even if the current HTTP request is considered a "safe" request.
Adds the given object to a list of allowed objects which may be persisted even if the current HTTP request is considered a "safe" request.
Converts the given object into an array containing the identity of the domain object.
Recursively iterates through the given array and turns objects into an arrays containing the identity of the domain object.
Gives feedback if the persistence Manager has unpersisted changes.
Create new instance
Initializes the persistence manager
Commits new objects and changes to objects in the current persistence session into the backend
Checks if the given object has ever been persisted.
Returns the (internal) identifier for the object, if it is known to the backend. Otherwise NULL is returned.
Returns the object with the (internal) identifier, if it is known to the backend. Otherwise NULL is returned.
Returns the object data for the (internal) identifier, if it is known to the backend. Otherwise false is returned.
Return a query object for the given type.
Adds an object to the persistence.
Removes an object to the persistence.
Update an object in the persistence.
Returns true, if an active connection to the persistence backend has been established, e.g. entities can be persisted.
Checks if the given object is allowed and if not, throws an exception
Signals that all persistAll() has been executed successfully.
Tear down the persistence
Details
void
injectSettings(array $settings)
Injects the Flow settings, the persistence part is kept for further use.
void
clearState()
Clears the in-memory state of the persistence.
Managed instances become detached, any fetches will return data directly from the persistence "backend". It will also forget about new objects.
void
registerNewObject(PersistenceMagicInterface $object)
Registers an object which has been created or cloned during this request.
The given object must contain the Persistence_Object_Identifier property, thus the PersistenceMagicInterface type hint. A "new" object does not necessarily have to be known by any repository or be persisted in the end.
Objects registered with this method must be known to the getObjectByIdentifier() method.
void
whitelistObject(object $object)
deprecated
deprecated
Adds the given object to a list of allowed objects which may be persisted even if the current HTTP request is considered a "safe" request.
void
allowObject(object $object)
Adds the given object to a list of allowed objects which may be persisted even if the current HTTP request is considered a "safe" request.
array
convertObjectToIdentityArray(object $object)
Converts the given object into an array containing the identity of the domain object.
array
convertObjectsToIdentityArrays(array $array)
Recursively iterates through the given array and turns objects into an arrays containing the identity of the domain object.
bool
hasUnpersistedChanges()
Gives feedback if the persistence Manager has unpersisted changes.
This is primarily used to inform the user if he tries to save data in an unsafe request.
__construct()
Create new instance
void
injectQueryFactory(QueryFactoryInterface $queryFactory)
Injects a QueryFactory instance
void
injectDataMapper(DataMapper $dataMapper)
Injects the data mapper
void
injectBackend(BackendInterface $backend)
Injects the backend to use
void
injectPersistenceSession(Session $persistenceSession)
Injects the persistence session
void
initializeObject()
Initializes the persistence manager
int
getObjectCountByQuery(QueryInterface $query)
Returns the number of records matching the query.
array
getObjectDataByQuery(QueryInterface $query)
Returns the object data matching the $query.
void
persistAll(bool $onlyAllowedObjects = false)
Commits new objects and changes to objects in the current persistence session into the backend
bool
isNewObject(object $object)
Checks if the given object has ever been persisted.
mixed
getIdentifierByObject(object $object)
Returns the (internal) identifier for the object, if it is known to the backend. Otherwise NULL is returned.
Note: this returns an identifier even if the object has not been persisted in case of AOP-managed entities. Use isNewObject() if you need to distinguish those cases.
object|null
getObjectByIdentifier(mixed $identifier, string $objectType = null, bool $useLazyLoading = false)
Returns the object with the (internal) identifier, if it is known to the backend. Otherwise NULL is returned.
object
getObjectDataByIdentifier(string $identifier, string $objectType = null)
Returns the object data for the (internal) identifier, if it is known to the backend. Otherwise false is returned.
QueryInterface
createQueryForType(string $type)
Return a query object for the given type.
void
add(object $object)
Adds an object to the persistence.
void
remove(object $object)
Removes an object to the persistence.
void
update(object $object)
Update an object in the persistence.
bool
isConnected()
Returns true, if an active connection to the persistence backend has been established, e.g. entities can be persisted.
protected void
throwExceptionIfObjectIsNotAllowed(object $object)
Checks if the given object is allowed and if not, throws an exception
protected void
emitAllObjectsPersisted()
Signals that all persistAll() has been executed successfully.
void
tearDown()
Tear down the persistence
This method is called in functional tests to reset the storage between tests. The implementation is optional and depends on the underlying persistence backend.