diff --git a/lib/Doctrine/ORM/EntityManager.php b/lib/Doctrine/ORM/EntityManager.php
index d21d3fb86d3..89f5b901573 100644
--- a/lib/Doctrine/ORM/EntityManager.php
+++ b/lib/Doctrine/ORM/EntityManager.php
@@ -165,9 +165,7 @@ protected function __construct(Connection $conn, Configuration $config, EventMan
}
/**
- * Gets the database connection object used by the EntityManager.
- *
- * @return \Doctrine\DBAL\Connection
+ * {@inheritDoc}
*/
public function getConnection()
{
@@ -185,18 +183,7 @@ public function getMetadataFactory()
}
/**
- * Gets an ExpressionBuilder used for object-oriented construction of query expressions.
- *
- * Example:
- *
- *
- * $qb = $em->createQueryBuilder();
- * $expr = $em->getExpressionBuilder();
- * $qb->select('u')->from('User', 'u')
- * ->where($expr->orX($expr->eq('u.id', 1), $expr->eq('u.id', 2)));
- *
- *
- * @return \Doctrine\ORM\Query\Expr
+ * {@inheritDoc}
*/
public function getExpressionBuilder()
{
@@ -208,9 +195,7 @@ public function getExpressionBuilder()
}
/**
- * Starts a transaction on the underlying database connection.
- *
- * @return void
+ * {@inheritDoc}
*/
public function beginTransaction()
{
@@ -218,18 +203,7 @@ public function beginTransaction()
}
/**
- * Executes a function in a transaction.
- *
- * The function gets passed this EntityManager instance as an (optional) parameter.
- *
- * {@link flush} is invoked prior to transaction commit.
- *
- * If an exception occurs during execution of the function or flushing or transaction commit,
- * the transaction is rolled back, the EntityManager closed and the exception re-thrown.
- *
- * @param callable $func The function to execute transactionally.
- *
- * @return mixed The non-empty value returned from the closure or true instead.
+ * {@inheritDoc}
*/
public function transactional($func)
{
@@ -255,9 +229,7 @@ public function transactional($func)
}
/**
- * Commits a transaction on the underlying database connection.
- *
- * @return void
+ * {@inheritDoc}
*/
public function commit()
{
@@ -265,9 +237,7 @@ public function commit()
}
/**
- * Performs a rollback on the underlying database connection.
- *
- * @return void
+ * {@inheritDoc}
*/
public function rollback()
{
@@ -296,11 +266,7 @@ public function getClassMetadata($className)
}
/**
- * Creates a new Query object.
- *
- * @param string $dql The DQL string.
- *
- * @return \Doctrine\ORM\Query
+ * {@inheritDoc}
*/
public function createQuery($dql = '')
{
@@ -314,11 +280,7 @@ public function createQuery($dql = '')
}
/**
- * Creates a Query from a named query.
- *
- * @param string $name
- *
- * @return \Doctrine\ORM\Query
+ * {@inheritDoc}
*/
public function createNamedQuery($name)
{
@@ -326,12 +288,7 @@ public function createNamedQuery($name)
}
/**
- * Creates a native SQL query.
- *
- * @param string $sql
- * @param ResultSetMapping $rsm The ResultSetMapping to use.
- *
- * @return NativeQuery
+ * {@inheritDoc}
*/
public function createNativeQuery($sql, ResultSetMapping $rsm)
{
@@ -344,11 +301,7 @@ public function createNativeQuery($sql, ResultSetMapping $rsm)
}
/**
- * Creates a NativeQuery from a named native query.
- *
- * @param string $name
- *
- * @return \Doctrine\ORM\NativeQuery
+ * {@inheritDoc}
*/
public function createNamedNativeQuery($name)
{
@@ -358,9 +311,7 @@ public function createNamedNativeQuery($name)
}
/**
- * Create a QueryBuilder instance
- *
- * @return QueryBuilder
+ * {@inheritDoc}
*/
public function createQueryBuilder()
{
@@ -480,15 +431,7 @@ public function find($entityName, $id, $lockMode = LockMode::NONE, $lockVersion
}
/**
- * Gets a reference to the entity identified by the given type and identifier
- * without actually loading it, if the entity is not yet loaded.
- *
- * @param string $entityName The name of the entity type.
- * @param mixed $id The entity identifier.
- *
- * @return object The entity reference.
- *
- * @throws ORMException
+ * {@inheritDoc}
*/
public function getReference($entityName, $id)
{
@@ -529,24 +472,7 @@ public function getReference($entityName, $id)
}
/**
- * Gets a partial reference to the entity identified by the given type and identifier
- * without actually loading it, if the entity is not yet loaded.
- *
- * The returned reference may be a partial object if the entity is not yet loaded/managed.
- * If it is a partial object it will not initialize the rest of the entity state on access.
- * Thus you can only ever safely access the identifier of an entity obtained through
- * this method.
- *
- * The use-cases for partial references involve maintaining bidirectional associations
- * without loading one side of the association or to update an entity without loading it.
- * Note, however, that in the latter case the original (persistent) entity data will
- * never be visible to the application (especially not event listeners) as it will
- * never be loaded in the first place.
- *
- * @param string $entityName The name of the entity type.
- * @param mixed $identifier The entity identifier.
- *
- * @return object The (partial) entity reference.
+ * {@inheritDoc}
*/
public function getPartialReference($entityName, $identifier)
{
@@ -585,11 +511,7 @@ public function clear($entityName = null)
}
/**
- * Closes the EntityManager. All entities that are currently managed
- * by this EntityManager become detached. The EntityManager may no longer
- * be used after it is closed.
- *
- * @return void
+ * {@inheritDoc}
*/
public function close()
{
@@ -713,14 +635,7 @@ public function merge($entity)
}
/**
- * Creates a copy of the given entity. Can create a shallow or a deep copy.
- *
- * @param object $entity The entity to copy.
- * @param boolean $deep FALSE for a shallow copy, TRUE for a deep copy.
- *
- * @return object The new entity.
- *
- * @throws \BadMethodCallException
+ * {@inheritDoc}
*
* @todo Implementation need. This is necessary since $e2 = clone $e1; throws an E_FATAL when access anything on $e:
* Fatal error: Maximum function nesting level of '100' reached, aborting!
@@ -731,16 +646,7 @@ public function copy($entity, $deep = false)
}
/**
- * Acquire a lock on the given entity.
- *
- * @param object $entity
- * @param int $lockMode
- * @param int|null $lockVersion
- *
- * @return void
- *
- * @throws OptimisticLockException
- * @throws PessimisticLockException
+ * {@inheritDoc}
*/
public function lock($entity, $lockMode, $lockVersion = null)
{
@@ -774,9 +680,7 @@ public function contains($entity)
}
/**
- * Gets the EventManager used by the EntityManager.
- *
- * @return \Doctrine\Common\EventManager
+ * {@inheritDoc}
*/
public function getEventManager()
{
@@ -784,9 +688,7 @@ public function getEventManager()
}
/**
- * Gets the Configuration used by the EntityManager.
- *
- * @return \Doctrine\ORM\Configuration
+ * {@inheritDoc}
*/
public function getConfiguration()
{
@@ -808,9 +710,7 @@ private function errorIfClosed()
}
/**
- * Check if the Entity manager is open or closed.
- *
- * @return bool
+ * {@inheritDoc}
*/
public function isOpen()
{
@@ -818,9 +718,7 @@ public function isOpen()
}
/**
- * Gets the UnitOfWork used by the EntityManager to coordinate operations.
- *
- * @return \Doctrine\ORM\UnitOfWork
+ * {@inheritDoc}
*/
public function getUnitOfWork()
{
@@ -828,16 +726,7 @@ public function getUnitOfWork()
}
/**
- * Gets a hydrator for the given hydration mode.
- *
- * This method caches the hydrator instances which is used for all queries that don't
- * selectively iterate over the result.
- *
- * @deprecated
- *
- * @param int $hydrationMode
- *
- * @return \Doctrine\ORM\Internal\Hydration\AbstractHydrator
+ * {@inheritDoc}
*/
public function getHydrator($hydrationMode)
{
@@ -845,13 +734,7 @@ public function getHydrator($hydrationMode)
}
/**
- * Create a new instance for the given hydration mode.
- *
- * @param int $hydrationMode
- *
- * @return \Doctrine\ORM\Internal\Hydration\AbstractHydrator
- *
- * @throws ORMException
+ * {@inheritDoc}
*/
public function newHydrator($hydrationMode)
{
@@ -881,9 +764,7 @@ public function newHydrator($hydrationMode)
}
/**
- * Gets the proxy factory used by the EntityManager to create entity proxies.
- *
- * @return ProxyFactory
+ * {@inheritDoc}
*/
public function getProxyFactory()
{
@@ -891,13 +772,7 @@ public function getProxyFactory()
}
/**
- * Helper method to initialize a lazy loading proxy or persistent collection.
- *
- * This method is a no-op for other objects
- *
- * @param object $obj
- *
- * @return void
+ * {@inheritDoc}
*/
public function initializeObject($obj)
{
@@ -943,9 +818,7 @@ public static function create($conn, Configuration $config, EventManager $eventM
}
/**
- * Gets the enabled filters.
- *
- * @return FilterCollection The active filter collection.
+ * {@inheritDoc}
*/
public function getFilters()
{
@@ -957,9 +830,7 @@ public function getFilters()
}
/**
- * Checks whether the state of the filter collection is clean.
- *
- * @return boolean True, if the filter collection is clean.
+ * {@inheritDoc}
*/
public function isFiltersStateClean()
{
@@ -967,9 +838,7 @@ public function isFiltersStateClean()
}
/**
- * Checks whether the Entity Manager has filters.
- *
- * @return boolean True, if the EM has a filter collection.
+ * {@inheritDoc}
*/
public function hasFilters()
{
diff --git a/lib/Doctrine/ORM/EntityManagerInterface.php b/lib/Doctrine/ORM/EntityManagerInterface.php
index d72f7cd0cf8..68f680c6267 100644
--- a/lib/Doctrine/ORM/EntityManagerInterface.php
+++ b/lib/Doctrine/ORM/EntityManagerInterface.php
@@ -20,7 +20,6 @@
namespace Doctrine\ORM;
use Doctrine\Common\Persistence\ObjectManager;
-use Doctrine\DBAL\LockMode;
use Doctrine\ORM\Query\ResultSetMapping;
/**
@@ -31,30 +30,258 @@
*/
interface EntityManagerInterface extends ObjectManager
{
+ /**
+ * Gets the database connection object used by the EntityManager.
+ *
+ * @return \Doctrine\DBAL\Connection
+ */
public function getConnection();
+
+ /**
+ * Gets an ExpressionBuilder used for object-oriented construction of query expressions.
+ *
+ * Example:
+ *
+ *
+ * $qb = $em->createQueryBuilder();
+ * $expr = $em->getExpressionBuilder();
+ * $qb->select('u')->from('User', 'u')
+ * ->where($expr->orX($expr->eq('u.id', 1), $expr->eq('u.id', 2)));
+ *
+ *
+ * @return \Doctrine\ORM\Query\Expr
+ */
public function getExpressionBuilder();
+
+ /**
+ * Starts a transaction on the underlying database connection.
+ *
+ * @return void
+ */
public function beginTransaction();
+
+ /**
+ * Executes a function in a transaction.
+ *
+ * The function gets passed this EntityManager instance as an (optional) parameter.
+ *
+ * {@link flush} is invoked prior to transaction commit.
+ *
+ * If an exception occurs during execution of the function or flushing or transaction commit,
+ * the transaction is rolled back, the EntityManager closed and the exception re-thrown.
+ *
+ * @param callable $func The function to execute transactionally.
+ *
+ * @return mixed The non-empty value returned from the closure or true instead.
+ */
public function transactional($func);
+
+ /**
+ * Commits a transaction on the underlying database connection.
+ *
+ * @return void
+ */
public function commit();
+
+ /**
+ * Performs a rollback on the underlying database connection.
+ *
+ * @return void
+ */
public function rollback();
+
+ /**
+ * Creates a new Query object.
+ *
+ * @param string $dql The DQL string.
+ *
+ * @return Query
+ */
public function createQuery($dql = '');
+
+ /**
+ * Creates a Query from a named query.
+ *
+ * @param string $name
+ *
+ * @return Query
+ */
public function createNamedQuery($name);
+
+ /**
+ * Creates a native SQL query.
+ *
+ * @param string $sql
+ * @param ResultSetMapping $rsm The ResultSetMapping to use.
+ *
+ * @return NativeQuery
+ */
public function createNativeQuery($sql, ResultSetMapping $rsm);
+
+ /**
+ * Creates a NativeQuery from a named native query.
+ *
+ * @param string $name
+ *
+ * @return NativeQuery
+ */
public function createNamedNativeQuery($name);
+
+ /**
+ * Create a QueryBuilder instance
+ *
+ * @return QueryBuilder
+ */
public function createQueryBuilder();
+
+ /**
+ * Gets a reference to the entity identified by the given type and identifier
+ * without actually loading it, if the entity is not yet loaded.
+ *
+ * @param string $entityName The name of the entity type.
+ * @param mixed $id The entity identifier.
+ *
+ * @return object The entity reference.
+ *
+ * @throws ORMException
+ */
public function getReference($entityName, $id);
+
+ /**
+ * Gets a partial reference to the entity identified by the given type and identifier
+ * without actually loading it, if the entity is not yet loaded.
+ *
+ * The returned reference may be a partial object if the entity is not yet loaded/managed.
+ * If it is a partial object it will not initialize the rest of the entity state on access.
+ * Thus you can only ever safely access the identifier of an entity obtained through
+ * this method.
+ *
+ * The use-cases for partial references involve maintaining bidirectional associations
+ * without loading one side of the association or to update an entity without loading it.
+ * Note, however, that in the latter case the original (persistent) entity data will
+ * never be visible to the application (especially not event listeners) as it will
+ * never be loaded in the first place.
+ *
+ * @param string $entityName The name of the entity type.
+ * @param mixed $identifier The entity identifier.
+ *
+ * @return object The (partial) entity reference.
+ */
public function getPartialReference($entityName, $identifier);
+
+ /**
+ * Closes the EntityManager. All entities that are currently managed
+ * by this EntityManager become detached. The EntityManager may no longer
+ * be used after it is closed.
+ *
+ * @return void
+ */
public function close();
+
+ /**
+ * Creates a copy of the given entity. Can create a shallow or a deep copy.
+ *
+ * @param object $entity The entity to copy.
+ * @param boolean $deep FALSE for a shallow copy, TRUE for a deep copy.
+ *
+ * @return object The new entity.
+ *
+ * @throws \BadMethodCallException
+ */
public function copy($entity, $deep = false);
+
+ /**
+ * Acquire a lock on the given entity.
+ *
+ * @param object $entity
+ * @param int $lockMode
+ * @param int|null $lockVersion
+ *
+ * @return void
+ *
+ * @throws OptimisticLockException
+ * @throws PessimisticLockException
+ */
public function lock($entity, $lockMode, $lockVersion = null);
+
+ /**
+ * Gets the EventManager used by the EntityManager.
+ *
+ * @return \Doctrine\Common\EventManager
+ */
public function getEventManager();
+
+ /**
+ * Gets the Configuration used by the EntityManager.
+ *
+ * @return Configuration
+ */
public function getConfiguration();
+
+ /**
+ * Check if the Entity manager is open or closed.
+ *
+ * @return bool
+ */
public function isOpen();
+
+ /**
+ * Gets the UnitOfWork used by the EntityManager to coordinate operations.
+ *
+ * @return UnitOfWork
+ */
public function getUnitOfWork();
+
+ /**
+ * Gets a hydrator for the given hydration mode.
+ *
+ * This method caches the hydrator instances which is used for all queries that don't
+ * selectively iterate over the result.
+ *
+ * @deprecated
+ *
+ * @param int $hydrationMode
+ *
+ * @return \Doctrine\ORM\Internal\Hydration\AbstractHydrator
+ */
public function getHydrator($hydrationMode);
+
+ /**
+ * Create a new instance for the given hydration mode.
+ *
+ * @param int $hydrationMode
+ *
+ * @return \Doctrine\ORM\Internal\Hydration\AbstractHydrator
+ *
+ * @throws ORMException
+ */
public function newHydrator($hydrationMode);
+
+ /**
+ * Gets the proxy factory used by the EntityManager to create entity proxies.
+ *
+ * @return \Doctrine\ORM\Proxy\ProxyFactory
+ */
public function getProxyFactory();
+
+ /**
+ * Gets the enabled filters.
+ *
+ * @return \Doctrine\ORM\Query\FilterCollection The active filter collection.
+ */
public function getFilters();
+
+ /**
+ * Checks whether the state of the filter collection is clean.
+ *
+ * @return boolean True, if the filter collection is clean.
+ */
public function isFiltersStateClean();
+
+ /**
+ * Checks whether the Entity Manager has filters.
+ *
+ * @return boolean True, if the EM has a filter collection.
+ */
public function hasFilters();
}