interface ObjectManager

Contract for a Doctrine persistence layer ObjectManager class to implement.

@license http://www.opensource.org/licenses/lgpl-license.php LGPL @link www.doctrine-project.org @since 2.1 @author Benjamin Eberlei <kontakt@beberlei.de> @author Jonathan Wage <jonwage@gmail.com>

Hierarchy

Expanded class hierarchy of ObjectManager

All classes that implement ObjectManager

4 files declare their use of ObjectManager
LifecycleEventArgs.php in drupal/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LifecycleEventArgs.php
LoadClassMetadataEventArgs.php in drupal/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php
ManagerEventArgs.php in drupal/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php
PreUpdateEventArgs.php in drupal/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php

File

drupal/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManager.php, line 31

Namespace

Doctrine\Common\Persistence
View source
interface ObjectManager {

  /**
   * Finds a object by its identifier.
   *
   * This is just a convenient shortcut for getRepository($className)->find($id).
   *
   * @param string
   * @param mixed
   * @return object
   */
  function find($className, $id);

  /**
   * Tells the ObjectManager to make an instance managed and persistent.
   *
   * The object will be entered into the database as a result of the flush operation.
   *
   * NOTE: The persist operation always considers objects that are not yet known to
   * this ObjectManager as NEW. Do not pass detached objects to the persist operation.
   *
   * @param object $object The instance to make managed and persistent.
   */
  function persist($object);

  /**
   * Removes an object instance.
   *
   * A removed object will be removed from the database as a result of the flush operation.
   *
   * @param object $object The object instance to remove.
   */
  function remove($object);

  /**
   * Merges the state of a detached object into the persistence context
   * of this ObjectManager and returns the managed copy of the object.
   * The object passed to merge will not become associated/managed with this ObjectManager.
   *
   * @param object $object
   * @return object
   */
  function merge($object);

  /**
   * Clears the ObjectManager. All objects that are currently managed
   * by this ObjectManager become detached.
   *
   * @param string $objectName if given, only objects of this type will get detached
   */
  function clear($objectName = null);

  /**
   * Detaches an object from the ObjectManager, causing a managed object to
   * become detached. Unflushed changes made to the object if any
   * (including removal of the object), will not be synchronized to the database.
   * Objects which previously referenced the detached object will continue to
   * reference it.
   *
   * @param object $object The object to detach.
   */
  function detach($object);

  /**
   * Refreshes the persistent state of an object from the database,
   * overriding any local changes that have not yet been persisted.
   *
   * @param object $object The object to refresh.
   */
  function refresh($object);

  /**
   * Flushes all changes to objects that have been queued up to now to the database.
   * This effectively synchronizes the in-memory state of managed objects with the
   * database.
   */
  function flush();

  /**
   * Gets the repository for a class.
   *
   * @param string $className
   * @return \Doctrine\Common\Persistence\ObjectRepository
   */
  function getRepository($className);

  /**
   * Returns the ClassMetadata descriptor for a class.
   *
   * The class name must be the fully-qualified class name without a leading backslash
   * (as it is returned by get_class($obj)).
   *
   * @param string $className
   * @return \Doctrine\Common\Persistence\Mapping\ClassMetadata
   */
  function getClassMetadata($className);

  /**
   * Gets the metadata factory used to gather the metadata of classes.
   *
   * @return \Doctrine\Common\Persistence\Mapping\ClassMetadataFactory
   */
  function getMetadataFactory();

  /**
   * Helper method to initialize a lazy loading proxy or persistent collection.
   *
   * This method is a no-op for other objects.
   *
   * @param object $obj
   */
  function initializeObject($obj);

  /**
   * Check if the object is part of the current UnitOfWork and therefore
   * managed.
   *
   * @param object $object
   * @return bool
   */
  function contains($object);

}

Members

Namesort descending Modifiers Type Description Overrides
ObjectManager::clear function Clears the ObjectManager. All objects that are currently managed by this ObjectManager become detached.
ObjectManager::contains function Check if the object is part of the current UnitOfWork and therefore managed.
ObjectManager::detach function Detaches an object from the ObjectManager, causing a managed object to become detached. Unflushed changes made to the object if any (including removal of the object), will not be synchronized to the database. Objects which previously referenced the…
ObjectManager::find function Finds a object by its identifier.
ObjectManager::flush function Flushes all changes to objects that have been queued up to now to the database. This effectively synchronizes the in-memory state of managed objects with the database.
ObjectManager::getClassMetadata function Returns the ClassMetadata descriptor for a class.
ObjectManager::getMetadataFactory function Gets the metadata factory used to gather the metadata of classes.
ObjectManager::getRepository function Gets the repository for a class.
ObjectManager::initializeObject function Helper method to initialize a lazy loading proxy or persistent collection.
ObjectManager::merge function Merges the state of a detached object into the persistence context of this ObjectManager and returns the managed copy of the object. The object passed to merge will not become associated/managed with this ObjectManager.
ObjectManager::persist function Tells the ObjectManager to make an instance managed and persistent.
ObjectManager::refresh function Refreshes the persistent state of an object from the database, overriding any local changes that have not yet been persisted.
ObjectManager::remove function Removes an object instance.